【发布时间】:2020-04-04 07:01:27
【问题描述】:
我尝试过同时使用 MockMVC 和 TestRestTemplate。在这两种情况下,返回的响应都是 404,但 API 端点在集成测试之外工作(当我自己运行 spring 应用程序时)。
是否有人有一个有效的示例应用程序,该应用程序对使用 Spring Data Rest 的生成的控制器进行了有效的集成测试?
我还能够针对我自己的控制器(非 SDR 类型)编写常规集成测试
测试代码:
@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class MyTest {
@Autowired
private TestRestTemplate testRestTemplate;
@Test
public void testApi() {
String settings = testRestTemplate
.getForObject("/api/v1/orders", String.class);
System.out.println(settings);
}
}
回购:
@RepositoryRestResource(excerptProjection = OrderSummaryProjection.class)
public interface OrderRepository extends JpaRepository<Order, Long> {}
好的,我发现了问题,但我不知道答案应该是什么:
我在 application.properties 中设置了 spring.data.rest.basePath。
但我认为在您运行集成测试时不会读取该文件。我该如何解决?
【问题讨论】:
-
您的代码 sn-p 将有助于回答问题
-
@Smile 找到了问题,但没有答案,请参阅编辑
标签: spring-boot unit-testing junit spring-data spring-data-rest