我们正在研究如何将依赖注入用于单元测试(使用JSR-330语法但没有在基本测试中明确指定引擎,如果这很重要),到目前为止我们已经使用了junit 4并且非常满意它,但它似乎不是为测试中的依赖注入而设计的。
问题是,junit是否非常适合在依赖注入上下文中运行的测试,或者我是否应该切换到TestNG?
只是为了澄清:我们正在尝试与DI引擎无关,目前正在寻找匕首。
如果意见得到支持,我将不胜感激,谢谢。
答案 0 :(得分:1)
假设您使用的是Spring框架
您可以像这样注释Junit测试类:
@RunWith( SpringJUnit4ClassRunner.class )
@ContextConfiguration( "classpath:appTest-context.xml" )
public class AppServiceTest{
...
...
}
在appTest-context.xml
里面有你常规的Spring配置用于注入所有依赖项。
答案 1 :(得分:0)
Junit有@RunWith注释,请查看org.springframework.test.context.junit4.SpringJUnit4ClassRunner
作为Junit测试中实现DI的示例
答案 2 :(得分:0)
我不确定JUnit(但看到其他答案似乎也可以使用JUnit)但在我们的应用程序中,我们使用TestNG来运行测试用例,我们成功地能够注入依赖项。