需要在单元测试中使用依赖注入 - 我应该使用junit还是testng?

时间:2013-08-13 11:22:39

标签: java junit dependency-injection testng

我们正在研究如何将依赖注入用于单元测试(使用JSR-330语法但没有在基本测试中明确指定引擎,如果这很重要),到目前为止我们已经使用了junit 4并且非常满意它,但它似乎不是为测试中的依赖注入而设计的。

问题是,junit是否非常适合在依赖注入上下文中运行的测试,或者我是否应该切换到TestNG?

只是为了澄清:我们正在尝试与DI引擎无关,目前正在寻找匕首。

如果意见得到支持,我将不胜感激,谢谢。

3 个答案:

答案 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来运行测试用例,我们成功地能够注入依赖项。