我们知道如果你用Spring来管理你的Hibernate和Struts后,那么一些要访问的对象都交给Spring创建。如:
在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");
}
Ok!!!