- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 @RunWith(MockitoJUnitRunner.class)
与mockito 进行 junit 测试。但现在我正在使用 spring-boot 和 JUnit 5。
这两个注释有什么区别?
我可以仅使用 @ExtendWith(SpringExtension.class)
来模拟我的对象吗?
最佳答案
涉及 Spring 时:
如果您想在测试中使用 Spring 测试框架功能,例如 @MockBean
,那么您必须使用 @ExtendWith(SpringExtension.class)
。它取代了已弃用的 JUnit4 @RunWith(SpringJUnit4ClassRunner.class)
不涉及 Spring 时:
如果你只是想涉及Mockito而不必涉及Spring,比如你只想使用@Mock
/@InjectMocks
注解时,那么你想使用 @ExtendWith(MockitoExtension.class) ,因为它不会加载一堆不需要的 Spring 东西。它取代了已弃用的 JUnit4 @RunWith(MockitoJUnitRunner.class)
。
回答您的问题:
是的,您可以只使用@ExtendWith(SpringExtension.class)
,但是如果您在测试中不涉及Spring测试框架功能,那么您可能只想使用@ExtendWith (MockitoExtension.class)
.
关于java - @ExtendWith(SpringExtension.class) 和 @ExtendWith(MockitoExtension.class) 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60308578/
我最近从 JUnit4 迁移到 JUnit5。我已经更新并编辑了我的 POM 文件(多个 POM,因为我的项目是一个多 Maven 项目)。 看来我的 IDE (IntellIj Idea) 正在解析
通过使用 mockito-junit-jupiter 的 @MockitoExtension 扩展,模拟在测试类构造函数中为 null。 使用的依赖: mockito-junit-jupiter:2.
我使用 @RunWith(MockitoJUnitRunner.class) 与mockito 进行 junit 测试。但现在我正在使用 spring-boot 和 JUnit 5。 这两个注释有什么
我刚刚将我的项目从 Spring Boot 2.1 迁移到 2.3,因此现在有了 JUnit 5(带有复古)(还包括版本 3.3.3 的 mockito-core 和 mockito-junit-ju
我是一名优秀的程序员,十分优秀!