我的团队和我一直在使用Spring Boot开发大量微服务。 由于这些服务是通过JUnit和Spring Boot升级进行的(我们现在使用的是Spring Boot 2和JUnit 5),所以由不同开发人员实现的不同JUnit现在通过以下方式使用不同的模式:
今天两者之间有什么区别?我们是否真的需要将它们用于单元测试或嵌入到一些新的Spring Boot注释中?
答案 0 :(得分:4)
如果您使用的是Junit版本<5,则必须使用@RunWith(SpringRunner.class)
或@RunWith(MockitoJUnitRunner.class)
等。
如果您使用的是Junit版本= 5,则必须使用@ExtendWith(SpringExtension.class)
或@ExtendWith(MockitoExtension.class)
等。
答案 1 :(得分:2)
答案可以在documentation中找到:
如果您使用的是JUnit 4,请不要忘记 将@RunWith(SpringRunner.class)添加到您的测试中,否则 注释将被忽略。如果您使用的是JUnit 5,则无需 添加与@SpringBootTest等价的@ExtendWith(SpringExtension)和 其他…@…已经有批注
。
答案 2 :(得分:0)
@RunWith
是JUnit 4中的一个旧注释,用于使用测试运行器。如果您使用的是JUnit 5(木星),则应使用@ExtendWith
来使用JUnit扩展。