Spring Boot中的单元测试和集成测试最佳实践
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class MyIntegrationTest {
@LocalServerPort
private int port;
@Autowired
private TestRestTemplate restTemplate;
@Test
public void testMyService() throws Exception {
// 使用TestRestTemplate发起对应用的REST API调用
ResponseEntity<String> response = this.restTemplate.getForEntity("/myService", String.class);
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
// 其他断言逻辑
}
}
这段代码展示了如何使用@RunWith
和@SpringBootTest
注解在Spring Boot应用中进行Web端口级别的集成测试。@LocalServerPort
注解用于注入随机分配给应用的端口,而TestRestTemplate
是Spring Boot提供的一个REST客户端工具,用于发起HTTP请求。这个测试类可以用作验证应用的REST API是否按预期工作。
评论已关闭