gpt4 book ai didi

java - @ExtendWith(SpringExtension.class) 和 @ExtendWith(MockitoExtension.class) 有什么区别?

转载 作者:行者123 更新时间:2023-12-01 19:29:16 29 4
gpt4 key购买 nike

我使用 @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/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com