Java 通过在SpringBoot中调用REST端点来启动IntegrationTest
我假设这是可能的,并且不违反标准/不良做法 我们正在SpringBootJava 通过在SpringBoot中调用REST端点来启动IntegrationTest,java,spring-boot,testing,microservices,integration-testing,Java,Spring Boot,Testing,Microservices,Integration Testing,我假设这是可能的,并且不违反标准/不良做法 我们正在SpringBoot@SpringBootTest中为微服务编写端到端测试,并且该端到端测试位于单独的模块/项目中(如微服务) 计划是编写一个带有端点的控制器,并将配置文件作为参数,以编程方式运行测试@SpringBootTest 问题: 我们如何以上面指定的方式运行测试 我们是否应该将测试保留在src/test中而不是src/main,因为在端到端spring引导应用程序中,它所拥有的只是一个测试类(@springbootest)和一些辅助类
@SpringBootTest
中为微服务编写端到端测试,并且该端到端测试位于单独的模块/项目中(如微服务)
计划是编写一个带有端点的控制器,并将配置文件作为参数,以编程方式运行测试@SpringBootTest
问题:
src/test
中而不是src/main
,因为在端到端spring引导应用程序中,它所拥有的只是一个测试类(@springbootest
)和一些辅助类WebTestClient
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
<scope>test</scope>
</dependency>
org.springframework.boot
弹簧启动器webflux
测试
问题1:请参见下面的示例测试
问题#2:最佳实践是将测试保存在src/test中
问题3:不,我想你可以走了
TestRestTemplate与WebTestClient的对比
注:从5.0开始,该等级处于维护模式,只有轻微故障
变更请求和错误将被接受。请
考虑使用Or.SrpFrrgWorks.Web.ReaCyv.clit.WebCclipse。
它具有更现代的API,支持同步、异步和流式传输
情景
创建多模块项目:
请注意,WebTestClient
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
<scope>test</scope>
</dependency>
org.springframework.boot
弹簧启动器webflux
测试
一般来说,我更喜欢黄瓜测试溶液进行端到端测试
因此,请用Cucumber的方式回答您的问题:
- 黄瓜:黄瓜爪哇
- cucumber:cucumber junit(使用junit触发特性)
- Cumber:Cumber-spring(因此我们可以使用spring上下文,例如ContextConfiguration)
- jsonpath:json路径(可以方便地访问所需的特定结果)
- 黄瓜:黄瓜爪哇
- cucumber:cucumber junit(使用junit触发特性)
- Cumber:Cumber-spring(因此我们可以使用spring上下文,例如ContextConfiguration)
- jsonpath:json路径(可以方便地访问所需的特定结果)
/src/test
中。上面的示例是如何测试控制器/调用控制器端点。但我希望能够从控制器开始测试。然而,tests@SpringBootTest类位于/src/test