我们知道如果你用Spring来管理你的Hibernate和Struts后,那么一些要访问的对象都交给Spring创建。如:
在UserServiceImpl中用到的UserDao接口,只有一个声明和一个Set方法。如果直接调用UserServiceImpl中的方法
进行Junit测试的话会报空指针的异常。因为我们直接访问UserServiceImpl时Spring没有帮我们创建UserDao的实例。
所以我们要自己去创建这个实例,也许你会想到在applicationContext.xml中我们已经配置了UserDaoImpl的Bean。
所以我们可以从那里获得,方法如下:
applicationContext.Xml
UserDaoImplTest.java
这时就可以测试啦
在UserServiceImpl中用到的UserDao接口,只有一个声明和一个Set方法。如果直接调用UserServiceImpl中的方法
进行Junit测试的话会报空指针的异常。因为我们直接访问UserServiceImpl时Spring没有帮我们创建UserDao的实例。
所以我们要自己去创建这个实例,也许你会想到在applicationContext.xml中我们已经配置了UserDaoImpl的Bean。
所以我们可以从那里获得,方法如下:
applicationContext.Xml
- ......
- <bean id="userDao"
- class="com.accp.sshDemo.dao.impl. userDaoImpl">
- <property name="sessionFactory" ref="sessionFactory"></property>
- </bean>
- ......
UserDaoImplTest.java
- UserDao userDao= null;
- @Before
- public void setUp() throws Exception {
- ApplicationContext ctx =
- new FileSystemXmlApplicationContext("/WebRoot/WEB-INF/classes/applicationContext.xml");
- userDao = (UserDao) ctx.getBean("userDao");
- }
这时就可以测试啦
- @Test
- public void testGet() {
- User user=userDao.get("00001");
- assertEquals(user.getName,"admin");
- }