AR1*_*AR1 12 annotations junit4 spring-boot junit5
我的团队和我一直在使用Spring Boot开发大量微服务。由于服务是通过JUnit和Spring Boot升级进行的(我们现在使用的是Spring Boot 2和JUnit 5),因此由不同开发人员实现的不同JUnit现在在以下方面使用不同的模式:
今天,它们两者之间有什么区别?我们是否真的需要它们进行单元测试,或者将其嵌入一些新的Spring Boot注释中?
Tin*_*yOS 18
如果您使用的是Junit版本<5,则必须使用@RunWith(SpringRunner.class)或@RunWith(MockitoJUnitRunner.class)等。
如果您使用的是Junit版本= 5,则必须使用@ExtendWith(SpringExtension.class)或@ExtendWith(MockitoExtension.class)等。
Mur*_*nik 10
@RunWith是来自 JUnit 4 的旧注释,用于使用测试运行器。如果您使用的是 JUnit 5 (Jupiter),则应该@ExtendWith使用 JUnit 扩展。
引入的一个重要区别@ExtendWith是它可以接收一系列扩展,允许在同一测试中使用其中的许多扩展。像这样的事情,可以做
@ExtendWith({MockitoExtension.class, LogAsserterExtension.class})
class MyTest
Run Code Online (Sandbox Code Playgroud)
早在 JUnit 4中@RunWith,只允许使用一个 Runner 类,例如,当您想在测试中使用 Mockito 和 Params 时就会遇到问题,因为您无法同时使用MockitoJUnitRunner和。JUnitParamsRunner
| 归档时间: |
|
| 查看次数: |
2779 次 |
| 最近记录: |