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

标签 java junit dependency-injection testng

我们正在研究如何在单元测试中使用依赖项注入(inject)(使用 JSR-330 语法,但如果重要的话,无需在基本测试中显式指定引擎),到目前为止我们已经使用了 junit 4 并且对它非常满意,但它似乎不是为测试中的依赖项注入(inject)而设计的。

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

只是澄清一下:我们正在努力做到与 DI 引擎无关,目前正在研究 dagger。

如果意见有事实支持,我将不胜感激,谢谢。

最佳答案

假设您正在使用 Spring 框架

您可以像这样注释您的 Junit 测试类:

@RunWith( SpringJUnit4ClassRunner.class )  
@ContextConfiguration( "classpath:appTest-context.xml" )
public class AppServiceTest{
   ...
   ...
}

并且在 appTest-context.xml 中包含用于注入(inject)所有依赖项的常规 Spring 配置内容。

关于java - 需要在单元测试中使用依赖注入(inject) - 我应该使用 junit 还是 testng?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18207770/

相关文章:

java - javax.persistence 的 DuplicateKeyException 替代方案

entity-framework - 使用 Entity Framework 、依赖注入(inject)、工作单元和存储库模式在运行时注入(inject)/管理更改连接字符串

c# - 为什么我应该使用 IoC 容器(Autofac、Ninject、Unity 等)在 ASP.Net 应用程序中进行依赖注入(inject)?

java - java中如何从父类(super class)或后代类调用检查junit方法?

java - 如何重构方法以使其更易于测试

javascript - Angularjs 缩小最佳实践

java - 查找并返回第二天日期字符串的最佳方法?

java - 在 Java 中比较两个 Excel 文件的最简单方法?

java - 分而治之(通过最少的通话 secret 分享)

Java Junit4 : assertEquals for ArrayList<Double> with single precision expected values