- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我目前正在使用 Spring Boot 1.5.4 以及 Junit 5 和 Java 8。
我想使用 Junit 的 ParameterizedTest 对存储在 csv 文件中的多个条目设置集成测试。
代码如下:
@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]);
};
}
我从文档中了解到:
If you are using the @SpringBootTest annotation, a TestRestTemplate is automatically available and can be @Autowired into your test.
问题是我确实使用了 SpringBootTest 注释,但是当我运行测试时,TestRestTemplate 始终为 null。也许我错过了什么。
编辑:我在添加@RunWith(SpringRunner.class) 注释时遇到了完全相同的问题
最佳答案
我最终使用了来自以下 repo 的依赖项:github.com/sbrannen/spring-test-junit5正如@LucasP所述
由于在 Spring 4.3 及以下版本中没有对 JUnit 5 的一流支持,它帮助我通过在我的测试类上使用 @ExtendWith(SpringExtension.class)
正确地 Autowiring Spring TestRestTemplate。
下一步将直接使用 Spring Boot 2.0 以更好地支持 JUnit 5。
关于java - Spring TestRestTemplate 没有正确 Autowiring ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44526324/
您好,我正在使用 TestRestTemplate 为我的代码实现一些集成测试,在尝试测试端点时我找不到包含查询参数的方法。 这是我尝试过的 2 种不同的测试: @Test @DisplayName(
我有一个 REST (spring-hateoas) 服务器,我想用 JUnit 测试来测试它。因此,我正在使用自动注入(inject)的 TestRestTemplate。 但是我现在如何向这个预配
RestTemplate 与其测试版本有什么区别?当我们通过@ControllerAdvice进行异常处理时,RestTemplate会抛出异常,但对于相同的流程测试版本会返回包含异常详细信息的jso
我有普通的 SpringBoot 应用程序,带有自定义身份验证过滤器,可以正常工作。 但是在集成测试中使用 TestRestTemplate 时遇到问题。 我想在这里检查信用卡错误的用户是否无法登录。
TestRestTemplate 可用于在我们的 Spring Boot 集成测试中发送 http 请求。此类测试通常在 Spring boot 作为随机端口 @LocalServerPort 中的本
我有一个正在使用 kotlin 开发的 spring-boot 应用程序——总体上进展顺利。 ( Spring 1.5.6.RELEASE, Kotlin 1.1.4-3) 无论如何,在查看了一些示例
我有一个在 Tomcat 上运行的 Spring-Boot 应用程序。在其中,我有一个带有请求参数的 RestController。 @RequestMapping(value = "/v1/test
我目前正在使用 Spring Boot 1.5.4 以及 Junit 5 和 Java 8。 我想使用 Junit 的 ParameterizedTest 对存储在 csv 文件中的多个条目设置集成测
我有一个带有 Spring Data Rest 的 Spring Boot 应用程序,我使用 @WebIntegrationTest随着TestRestTemplate在我的集成测试中。测试的基类如下
我有一个 Spring 应用程序的集成测试,它使用 TestRestTemplate 发出请求。每次我发出请求时,模板都会返回一个实体,但 id 始终为空。如果我通过 Postman 执行相同操作,则
我正在学习 Spring Integration 测试并使用 org.springframework.boot.test.web.client.TestRestTemplate。我的 Spring B
//如何将@RequestParam值发送到url enter code here@ApiRestController 公共(public)类 CityController 扩展 BaseContro
我编写了一个 Spring Boot Controller ,用于监听发送到 /orders/ 的 PUT 请求。 在我的集成测试中,我注意到 TestRestTemplate 没有像我预期的那样对
据我所知,MockMvc 只是在测试 Controller,并模拟 Service 层。 同时 RestAssured 和 TestRestTemplate 正在测试我们 API 的运行实例。 这样对
我有一个简单的 Controller ( CODE ) @RestController @RequestMapping("/profiles" , produces = [MediaType.APPL
在我的 springBoot(RELEASE 1.5.20)应用程序中,启用了基本身份验证。我使用以下代码创建了完整的 IT 测试 @RunWith(SpringRunner.class) @Acti
有一个非常轻的 Spring Boot 1.4 项目,生成自 start.spring.io . 尝试使用 TestRestTemplate 为 @RestController 与 @RequestB
我知道这里已经出现过几次类似的问题,但遵循建议的修复方法并没有解决我的问题。 我有一个带有以下端点的简单 Controller : @RequestMapping(method = RequestMe
我正在使用 TestRestTemplate 对我们的产品进行集成测试。 我有一个看起来像这样的测试: @Test public void testDeviceQuery() { Respon
我有一个资源 A,它有一个 Controller ,其中包含一个用于检索分页 A 项目的端点: public ResponseEntity getAllAs( @Pageabl
我是一名优秀的程序员,十分优秀!