package cn.hsales.sales.dao;
import junit.framework.TestCase;
import cn.hsales.sales.dao.DaoFactory;import cn.hsales.sales.model.chanpinxx.ChanpinxxDAO;
import cn.hsales.sales.model.dingdan.DingdanDAO;
import cn.hsales.sales.model.khzl.KhzlDAO;
import cn.hsales.sales.model.manager.ManagerDAO;
import cn.hsales.sales.model.quyu.QuyuDAO;
import cn.hsales.sales.model.salespeople.SalespeopleDAO;
import cn.hsales.sales.model.shengchan.ShengchanDAO;
import cn.hsales.sales.model.shouchu.ShouchuDAO;
import cn.hsales.sales.model.shoufu.ShoufuDAO;
import cn.hsales.sales.model.shqzl.ShqzlDAO;
import cn.hsales.sales.model.users.UsersDAO;
import cn.hsales.sales.model.weixiu.WeixiuDAO;
import cn.hsales.sales.model.yzhma.YzhmaDAO;
import cn.hsales.sales.model.zhiwu.ZhiwuDAO;/**
 * DaoFactory单元测试对象
 */
public class TestDaoFactory extends TestCase { protected void setUp() throws Exception 
{
super.setUp();
} protected void tearDown() throws Exception 
{
super.tearDown();
}

public void testDaoFactory()
{

ChanpinxxDAO chanpinxxDAO = (ChanpinxxDAO)DaoFactory.getDao( "chanpinxxDao" );
assertNotNull( "Chanpinxx DAO is NULL!", chanpinxxDAO ); DingdanDAO dingdanDAO = (DingdanDAO)DaoFactory.getDao( "dingdanDao" );
assertNotNull( "Dingdan DAO is NULL!", dingdanDAO ); KhzlDAO khzlDAO = (KhzlDAO)DaoFactory.getDao( "khzlDao" );
assertNotNull( "Khzl DAO is NULL!", khzlDAO ); ManagerDAO managerDAO = (ManagerDAO)DaoFactory.getDao( "managerDao" );
assertNotNull( "Manager DAO is NULL!", managerDAO ); QuyuDAO quyuDAO = (QuyuDAO)DaoFactory.getDao( "quyuDao" );
assertNotNull( "Quyu DAO is NULL!", quyuDAO ); SalespeopleDAO salespeopleDAO = (SalespeopleDAO)DaoFactory.getDao( "salespeopleDao" );
assertNotNull( "Salespeople DAO is NULL!", salespeopleDAO ); ShengchanDAO shengchanDAO = (ShengchanDAO)DaoFactory.getDao( "shengchanDao" );
assertNotNull( "Shengchan DAO is NULL!", shengchanDAO ); ShouchuDAO shouchuDAO = (ShouchuDAO)DaoFactory.getDao( "shouchuDao" );
assertNotNull( "Shouchu DAO is NULL!", shouchuDAO ); ShoufuDAO shoufuDAO = (ShoufuDAO)DaoFactory.getDao( "shoufuDao" );
assertNotNull( "Shoufu DAO is NULL!", shoufuDAO ); ShqzlDAO shqzlDAO = (ShqzlDAO)DaoFactory.getDao( "shqzlDao" );
assertNotNull( "Shqzl DAO is NULL!", shqzlDAO ); UsersDAO usersDAO = (UsersDAO)DaoFactory.getDao( "usersDao" );
assertNotNull( "Users DAO is NULL!", usersDAO ); WeixiuDAO weixiuDAO = (WeixiuDAO)DaoFactory.getDao( "weixiuDao" );
assertNotNull( "Weixiu DAO is NULL!", weixiuDAO ); YzhmaDAO yzhmaDAO = (YzhmaDAO)DaoFactory.getDao( "yzhmaDao" );
assertNotNull( "Yzhma DAO is NULL!", yzhmaDAO ); ZhiwuDAO zhiwuDAO = (ZhiwuDAO)DaoFactory.getDao( "zhiwuDao" );
assertNotNull( "Zhiwu DAO is NULL!", zhiwuDAO ); }}

解决方案 »

  1.   

    <?xml version="1.0"  encoding='UTF-8'?>
    <config>
    <dao id="chanpinxxDao" type="cn.hsales.sales.model.chanpinxx.ChanpinxxDAO" />
    <dao id="dingdanDao" type="cn.hsales.sales.model.dingdan.DingdanDAO" />
    <dao id="khzlDao" type="cn.hsales.sales.model.khzl.KhzlDAO" />
    <dao id="managerDao" type="cn.hsales.sales.model.manager.ManagerDAO" />
    <dao id="quyuDao" type="cn.hsales.sales.model.quyu.QuyuDAO"/>
    <dao id="salespeopleDao" type="cn.hsales.sales.model.salespeople.SalespeopleDAO" />
    <dao id="shengchanDao" type="cn.hsales.sales.model.shengchan.ShengchanDAO" />
    <dao id="shouchuDao" type="cn.hsales.sales.model.shouchu.ShouchuDAO" />
    <dao id="shofuDao" type="cn.hsales.sales.model.shoufu.ShoufuDAO" />
    <dao id="shqzlDao" type="cn.hsales.sales.model.shqzl.ShqzlDAO" />
    <dao id="usersDao" type="cn.hsales.sales.model.users.UsersDAO" />
    <dao id="weixiuDao" type="cn.hsales.sales.model.weixiu.WeixiuDAO" />
    <dao id="yzhmaDao" type="cn.hsales.sales.model.yzhma.YzhmaDAO" />
    <dao id="zhiwuDao" type="cn.hsales.sales.model.zhiwu.ZhiwuDAO" />
    </config>用Junit测试出现故障:junit.framework.AssertionFailedError: Chanpinxx DAO is NULL!
    at junit.framework.Assert.fail(Assert.java:47)
    at junit.framework.Assert.assertTrue(Assert.java:20)
    at junit.framework.Assert.assertNotNull(Assert.java:220)
    at cn.hsales.sales.dao.TestDaoFactory.testDaoFactory(TestDaoFactory.java:41)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at junit.framework.TestCase.runTest(TestCase.java:154)
    at junit.framework.TestCase.runBare(TestCase.java:127)
    at junit.framework.TestResult$1.protect(TestResult.java:106)
    at junit.framework.TestResult.runProtected(TestResult.java:124)
    at junit.framework.TestResult.run(TestResult.java:109)
    at junit.framework.TestCase.run(TestCase.java:118)
    at junit.framework.TestSuite.runTest(TestSuite.java:208)
    at junit.framework.TestSuite.run(TestSuite.java:203)
    at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)控制台:
    java.lang.NullPointerException
    at org.apache.commons.digester.Digester.createSAXException(Digester.java:2792)
    at org.apache.commons.digester.Digester.createSAXException(Digester.java:2818)
    at org.apache.commons.digester.Digester.endElement(Digester.java:1070)
    at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
    at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.apache.commons.digester.Digester.parse(Digester.java:1591)
    at cn.hsales.sales.dao.DaoFactory.<clinit>(DaoFactory.java:58)
    at cn.hsales.sales.dao.TestDaoFactory.testDaoFactory(TestDaoFactory.java:40)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at junit.framework.TestCase.runTest(TestCase.java:154)
    at junit.framework.TestCase.runBare(TestCase.java:127)
    at junit.framework.TestResult$1.protect(TestResult.java:106)
    at junit.framework.TestResult.runProtected(TestResult.java:124)
    at junit.framework.TestResult.run(TestResult.java:109)
    at junit.framework.TestCase.run(TestCase.java:118)
    at junit.framework.TestSuite.runTest(TestSuite.java:208)
    at junit.framework.TestSuite.run(TestSuite.java:203)
    at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
    经测试其中DaoFactory中的in不是null,但salesConfig是null,请各位给点意见!!!不胜感激!!!