利用Spring Boot配置的TestNG测试用例详解

来源:互联网 发布:属于网络教育的特征是 编辑:程序博客网 时间:2024/06/08 07:44

与JUnit不同,Spring Boot本身没有提供与TestNG集成的基础设施。

那么如何利用Spring Boot的配置,执行一个TestNG测试用例呢?在Spring Boot提供的大量samples中,有一个spring-boot-sample-testng可供参考。

基于该sample中,我们的TestNG测试类如下:

@SpringBootTest(classes = { ClientLauncher.class }, webEnvironment = WebEnvironment.DEFINED_PORT)@DirtiesContext(classMode = ClassMode.AFTER_CLASS)public class TestHealthCheckTestNGClient extends AbstractTestNGSpringContextTests {        @Autowired    private HealthCheckClient healthCheckClient;        @Test    public void getHealthCheckIntegrationTest(){        ResponseEntity<List<Health>> healthCheckResponse = healthCheckClient.getHealthCheck();        assert HttpStatus.OK.equals(healthCheckResponse.getStatusCode());    }}

注意,测试类继承了spring-test专为TestNG实现的AbstractTestNGSpringContextTests类。

对比JUnit测试用例如下:

@RunWith(SpringRunner.class)@SpringBootTest(classes = { ClientLauncher.class }, webEnvironment = WebEnvironment.DEFINED_PORT)@DirtiesContext(classMode = ClassMode.AFTER_CLASS)public class TestHealthCheckClient {        @Autowired    private HealthCheckClient healthCheckClient;        @Test    public void getHealthCheckIntegrationTest() throws Exception{        ResponseEntity<List<Health>> healthCheckResponse = healthCheckClient.getHealthCheck();        Assert.assertEquals(HttpStatus.OK, healthCheckResponse.getStatusCode());    }}


参考链接:

https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-testng

原创粉丝点击