系统使用JNDI来访问在容器上配置的资源信息(例如数据库信息),如果用xml来配置的话一般这么写
<jee:jndi-lookup id=”dataSource” jndi-name=”jdbc/database” expected-type=”javax.sql.DataSource” />
但是使用Junit来做测试的时候并不会访问容器,也就无法获取资源信息。这个时候你可以另外写一份applicationContextTest.xml来供测试用,或者可以在Junit里配置JNDI资源。
1 | (SpringJUnit4ClassRunner.class) |
实际使用的时候,直接使用生产的applicationContext很容易因为过于庞大而初始化过程缓慢,如果项目非常大还是应该单独写几个测试的applicationContext分模块来测试。