官术网_书友最值得收藏!

Testing Spring Boot microservice

There are multiple ways to test REST/JSON Spring Boot microservices. The easiest way is to use a web browser or a curl command pointing to the URL, like this:

curl localhost:8080

There are number of tools available for testing RESTful services such as Postman, Advanced Rest Client, SOAP UI, Paw, and more.

In this example, for testing the service, the default test class generated by Spring Boot will be used. Adding a new test case to ApplicatonTests.java results in this:

    @RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
public class ApplicationTests {
@Autowired
private TestRestTemplate restTemplate;

@Test
public void testSpringBootApp() throws JsonProcessingException,
IOException {
String body = restTemplate.getForObject("/", String.class);
assertThat(new ObjectMapper().readTree(body)
.get("message")
.textValue())
.isEqualTo("Hello World!");
}
}

Note that @SpringBootTest is a simple annotation for testing Spring Boot applications, which enables Spring Boot features during test execution. webEnvironment=WebEnvironment.RANDOM_PORT property directs the Spring Boot application to bind to a random port. This will be handy when running many Spring Boot services as part of a regression test. Also note that TestRestTemplate is being used for calling the RESTful service. TestRestTemplate is a utility class, which abstracts the lower-level details of the HTTP client, and also automatically discovers the actual port used by Spring Boot.

To test this, open a terminal window, go to the project folder, and run mvn install.

主站蜘蛛池模板: 益阳市| 白山市| 句容市| 洮南市| 饶阳县| 方山县| 通辽市| 高碑店市| 威远县| 武汉市| 开封县| 嵊泗县| 禄劝| 凤凰县| 永川市| 都昌县| 涟水县| 武胜县| 苍山县| 永顺县| 安平县| 茂名市| 米泉市| 疏附县| 全南县| 钟祥市| 雅江县| 乃东县| 广宗县| 通河县| 岳阳县| 绿春县| 五家渠市| 上虞市| 加查县| 连山| 西藏| 张家川| 孟津县| 故城县| 长子县|