当前位置: 首页 > 知识库问答 >
问题:

Spring测试-WebTestClient无法自动连接。找不到“WebTestClient”类型的bean

饶明亮
2023-03-14

我想在测试中使用WebTestClient。工作原理如下:

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@AutoConfigureWebTestClient
public class ControllerTest {

    @Autowired
    private WebTestClient webTestClient;

    @Test
    public void webtestClient () {
        assertNotNull(webTestClient);
    }
}

但现在我想将WebTestClient注入到一个helper类中:

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@AutoConfigureWebTestClient
public class ControllerTest {

    @Autowired
    private Helper helper;

    @Test
    public void webtestClient () {
        helper.check();
    }
}

@Component
public class Helper {
    @Autowired
    private WebTestClient webTestClient;

    public void check() {
        assertNotNull(webTestClient);
    }
}

下面是一个有问题的测试项目:https://github.com/kicktipp/demo

如何在Helper类上使用WebTestClient?

共有1个答案

长孙明知
2023-03-14

我只需显式指定AutoConfigureWebTestClient注释,就可以解决这个问题:

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@AutoConfigureWebTestClient
public class MyTestClass {

}
 类似资料:
  • 我们正在使用Spring框架5和Spring Boot 2.0.0。M6,我们也在使用WebClient进行反应式编程。我们为我们的反应式Restendpoint创建了测试方法,所以我查找了一些关于如何做到这一点的例子。我发现这个或这个以及许多其他的都一样。他们只是自动绑定一个WebTestClient。所以我尝试了同样的方法: 我无法运行此操作,因为我收到错误信息: 因此,似乎不存在自动配置。我

  • 我不确定我的代码出了什么问题。我正在学习弹簧靴。但我无法运行应用程序,因为我得到以下错误 模型类 主类:

  • 无法自动连接。找不到“CustomAuthenticationSuccessHandler”类型的bean

  • 我在控制器中使用了Spring,它工作得很好。但是在单元测试中,我使用获得。这里有一个例子: 如何使单元测试工作。或者甚至不需要在WebFlux中使用?

  • 我在创建带有参数的@Bean时遇到问题,这运行得很好,但在intelliJ中,它给出的错误无法自动连线。找不到“String”类型的bean。 我要做什么?我正在尝试创建具有原型作用域的bean,在IntelliJ“无法自动连线。未找到‘String’类型的bean”中出现此错误有谁能帮我解决这个问题吗 这是原型测试的类

  • 我使用的是Spring Data Jpa,这是我的项目结构: 下面是: 以下是: 我使用将注入到,但IntelliJ总是抱怨 无法自动连接。找不到“MyRepository”类型的bean 即使代码能够成功编译并运行。 为什么IntelliJ不能识别这不是一个错误?如何解除Intellij的警告? IntelliJ版本:2018.2.6