gpt4 book ai didi

spring-boot - 使用 @ExtendWith(MockitoExtension.class) 的 Spring Boot JUnit 5 测试不工作 - 模拟为空,MockitoJUnitRunner 工作

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

我刚刚将我的项目从 Spring Boot 2.1 迁移到 2.3,因此现在有了 JUnit 5(带有复古)(还包括版本 3.3.3 的 mockito-core 和 mockito-junit-jupiter)。
虽然所有 JUnit 4 测试都运行良好,但我的第一个 JUnit 5 测试运行不正常:

@ExtendWith(MockitoExtension.class)
public class SomeTest {

@InjectMocks
private Some to;

@Mock
private SomeProperties properties;

@Test
public void applied() {
....
//properties is null -> NPE
when(properties.getSome()).thenReturn("some");
....
}

未注入(inject)模拟(when 语句中的 NPE)。如果我切换到旧的 JUnit 4 样式 @RunWith(MockitoJUnitRunner.class)一切正常。

那么可能使用的是旧运行者或老式运行者?

如何解决此问题并使用“@ExtendWith”进行测试?我以为我可以逐步迁移 - 让新测试使用 junit5 runner 运行。

最佳答案

确保对 @Test 使用正确的导入注解:

  • JUnit 4:org.junit.Test
  • JUnit 5:org.junit.jupiter.api.Test
  • 关于spring-boot - 使用 @ExtendWith(MockitoExtension.class) 的 Spring Boot JUnit 5 测试不工作 - 模拟为空,MockitoJUnitRunner 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62262257/

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