Hi to All,

I'd like to write a TestCase using JUnit to test my DAO.
This DAO works correctly using the WEB Application, but I'd like write a
"standalone" test case for the DAO.

So I write this java class :

*****************************************************************

package com.fiat.mida.controller.dashboard;

import java.io.IOException;
import java.io.Reader;
import java.util.Map;

import org.springframework.jdbc.CannotGetJdbcConnectionException;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.jdbc.datasource.SingleConnectionDataSource;

import com.fiat.mida.model.dashboard.SearchBean;

import junit.framework.TestCase;

import com.fiat.mida.model.dashboard.dao.SearchRefuseDao;
import com.fiat.mida.model.dashboard.logic.*;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;

public class AbstractTest extends TestCase{
        
        private SearchRefuseService service;
        private SearchBean bean;
        private String resource =
"com/fiat/mida/controller/dashboard/test-sql-map-config.xml";
        
        private Reader reader ;
        
                protected DriverManagerDataSource m_dataSource; 
        protected SqlMapClient m_sqlMapClient;
        private SearchRefuseDao m_dao;

        protected void setUp() {
                
                try {
                        reader = Resources.getResourceAsReader(resource);
                        m_dataSource = new SingleConnectionDataSource();
                        
m_dataSource.setDriverClassName("org.hsqldb.jdbcDriver");
                System.out.println("driver OK!! ");
                        
m_dataSource.setUrl("jdbc:hsqldb:svuni000.replynet.prv:1522:AHZ7O01S");
                        m_dataSource.setUsername("AHZ7OP1000");
                        m_dataSource.setPassword("AHZ7OP1000");
                System.out.println("data source created");
                        m_sqlMapClient = 
SqlMapClientBuilder.buildSqlMapClient(reader);
                System.out.println("sql map created");
                        m_dao.setDataSource(m_dataSource);
                System.out.println("Setted data source on DAO");
                        m_dao.setSqlMapClient(m_sqlMapClient);
                System.out.println("Setted sql map on DAO");    
                } catch (CannotGetJdbcConnectionException e) {
                        System.out.println("no jdbc connection");
                        e.printStackTrace();
                } catch (IOException e) {
                        System.out.println("IO Exception");
                        e.printStackTrace();
                }
        }


        public void tearDown() {
                
        }
        
        public void testProva(){
                
                bean = new SearchBean();
                bean.setFonte("ACDEK100");
                Integer dimStat = service.findCountStatisticGroup(bean);
                assertEquals(584, dimStat.intValue());
        }
        
}

***********************************************************************

The test-sql-map-config.xml file is:

************************************************************************

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config
2.0//EN"
    "http://ibatis.apache.org/dtd/sql-map-config-2.dtd";>

<!--
    List of all iBatis SQL maps grouped by package name.
-->
<sqlMapConfig>

    <settings useStatementNamespaces="true" />
        
    <sqlMap resource="com/fiat/mida/model/dashboard/dao/SearchRefuse.xml" />
    
</sqlMapConfig>

************************************************************************

And the SearchRefuseDao class is:

**************************************************************************

package com.fiat.mida.model.dashboard.dao;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;

import com.fiat.mida.model.dashboard.SearchBean;

public class SearchRefuseDao extends SqlMapClientDaoSupport {

        /** Map for a single thread to hold query parameters. */
        private static ThreadLocal messageKeyOfThread = new ThreadLocal() {
                protected Object initialValue() {
                        return new HashMap(3);
                }
        };

        /**
         * conta il numero di statistiche degli scarti che soddisfano i criteri 
di
         * ricerca. Serve per la paginazione
         * 
         * @param bean:
         *            parametri di ricerca
         * @return: il numero di record di statistiche
         */
        public Integer getCountStatistics(SearchBean bean) {
                Map messageKey = (Map) messageKeyOfThread.get();
                messageKey.put("sourceCode", bean.getFonte());
                messageKey.put("dataAcq", bean.getDati());
                return (Integer) getSqlMapClientTemplate().queryForObject(
                                "SearchRefuse.getCountStatisticGroup", 
messageKey);

        }

}

************************************************************

When I run this TestCase I have this output:

Apr 20, 2007 1:27:41 PM
org.springframework.jdbc.datasource.DriverManagerDataSource
setDriverClassName
INFO: Loaded JDBC driver: org.hsqldb.jdbcDriver
driver OK!! 
data source created
sql map created

And I don't know why my test stop at that point.

Someone could help me ? 

Thanks a lot for any suggestion,

Have a good day,
Francesco


-- 
View this message in context: 
http://www.nabble.com/JUnit-Test-with-IBatis-tf3615809.html#a10098759
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.

Reply via email to