我的测试用例如下所示:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:applicationContext.xml" })
public class AbstractDatabaseTestCase extends AbstractTestCase {
@Autowired
private SessionFactory sessionFactory;
}
出于某种原因,当我通过 Eclipse(使用 Junit4 测试运行程序)或使用 ant(在 Eclipse 中或仅在终端中)在我的计算机上本地运行它时,一切正常并且 sessionFactory 被正确注入。
当此代码在服务器 (Hudson) 上时,无论是通过 Hudson 运行它还是在控制台中通过执行 ant 测试(测试是构建和运行 junit 测试的目标),都不会注入 sessionFactory,看起来像 Autowiring不工作。我查看了来自 nullpointerexception 的堆栈跟踪,并注意到它没有使用 SpringJUnit4ClassRunner,即使我在 @RunWith 注释中有它(在我的本地计算机上它确实使用它)。任何想法为什么?我猜它不是自动装配,因为它没有使用 SpringJUnit4ClassRunner。
谢谢