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