利用Spring Boot配置的TestNG测试用例详解
2017-08-11 14:14
369 查看
与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测试用例,由于spring-test模块提供了专门的集成JUnit的SpringRunner,测试用例的写法就与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
那么如何利用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测试用例,由于spring-test模块提供了专门的集成JUnit的SpringRunner,测试用例的写法就与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
相关文章推荐
- Spring-boot中利用外部配置文件生成数据源
- Spring Boot属性配置文件详解
- 关于Spring Boot WebSocket整合以及nginx配置详解
- Spring Boot属性配置文件详解
- spring-boot-starter-logging logback常用配置之<appender>标签详解
- Spring Boot教程(十六)属性配置文件详解(1)
- SpringBoot中使用UEditor基本配置(图文详解)
- 详解Spring Boot 配置多个RabbitMQ
- springboot 配置详解
- Spring Boot Log4j2的配置使用详解
- 基于Spring Boot的Logback日志轮转配置详解
- 微服务开发的入门级框架Spring Boot详解:属性配置
- 详解Spring-boot中读取config配置文件的两种方式
- Spring中利用配置文件和@value注入属性值代码详解
- spring boot配置文件详解
- spring-boot-starter-logging logback常用配置之<appender>标签详解
- Spring Boot实战教程之自动配置详解
- spring-boot-starter-logging logback配置之<configuration><logger>标签详解
- Spring boot——logback.xml 配置详解(二)
- spring boot 日志配置详解