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

Spring TestRestTemplate未正确自动连接

侯涵煦
2023-03-14

代码如下:

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
class MatchingIT {

    @Autowired
    private TestRestTemplate template;

    @ParameterizedTest
    @MethodSource(names = "vehicles")
    void nonRegressionTests(EDIVehicle vehicle) {
        ResponseEntity<Vehicle> v = template.getForEntity("/match/" + vehicule.getId(), Vehicle.class);
        Assert.assertNotNull(v);
    }

    private static Stream<EDIVehicle> vehicles() throws IOException {
        InputStream is = new ClassPathResource("/entries.csv").getInputStream();
        BufferedReader br = new BufferedReader(new InputStreamReader(is));
        return br.lines().map(toVehicle);
    }

    private static Function<String, EDIVehicle> toVehicle = (line) -> {
        String[] p = line.split("\\|");
        return new EDIVehicle(p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7], p[8], p[9], p[10], p[11], p[12]);
    };
}

我从文件中了解到:

如果您使用的是@SpringBootTest注释,则TestRestTemplate是自动可用的,并且可以@AutoWired到您的测试中。

问题是我确实使用了SpringBootTest注释,但当我运行测试时,TestRestTemplate总是为空。也许我错过了什么。

编辑:我在添加@RunWith(SpringRunner.class)注释时遇到了完全相同的问题

共有1个答案

赵珂
2023-03-14

我最终使用了以下repo中的依赖项:github.com/sbrannen/spring-test-junit5,正如所提到的@lucasp

由于在Spring4.3及以下版本中没有对JUnit 5的第一类支持,它通过在测试类上使用@extendwith(SpringExtension.class)帮助我正确地自动生成Spring TestRestTemplate。

下一步是直接使用Spring Boot2.0来更好地支持JUnit5。

 类似资料:
  • 我尝试使用两个matInput字段,每个字段都绑定到单独的mat-autocomplete面板。按照这里的步骤,我可以让一个工作正常,但我有困难与两个输入字段和自动完成面板。 有人看到这个或者知道我做错了什么吗?

  • 我正在尝试使用Springboot反应式webclient进行HTTP调用。远程服务器错误导致连接关闭。 请查找以下使用Webclient进行rest调用的代码。 Webclient创建的代码: 第一次通话后,我收到以下日志: 当我在一段时间后(比如10分钟)拨打电话时,连接将变为非活动状态。我正在获取以下日志: 我发现连接没有正确返回到池。配置中是否缺少任何内容?我是否已正确关闭连接?我想这应该

  • 在Spring Boot应用程序中,我尝试设置多个数据库连接。我已经开始构建主数据源,但是在mySqlEntityManagerFactory方法上出现以下错误。 无法自动连线。没有EntityManagerFactoryBuilder的bean 如何自动连接EntityManagerFactoryBuilder? 我正试图遵循这个博客上的代码https://raymondhlee.wordpre

  • 出于某种原因,我使用外部属性源,其中一个外部属性源没有自动连接,在创建身份验证bean时接收空指针 原因: org.springframework.beans.BeanInstantiationException: Failed to instanceiate [com.filechecker.check.Authenticator]: Constructor threw exception;ne

  • 我一直在做一个项目。在项目的一部分中,我需要使用JPanel。Graphics2D对象被传递给框架的模型部分,模型将在该实例中绘制它需要的任何内容。问题是JFrame未正确呈现。它看起来是半白色的阴影和不正确的绘画。它在我的笔记本电脑(索尼Vaio和Windows7)上运行良好,但在我测试的所有其他系统(2台戴尔笔记本电脑、windows8;1台Thoshiba和Windows7;1台三星和win