# 内功篇-测试

# 工具-spring-boot-starter-test

JUnit- 用于测试 Java applications 的单元的 de-facto 标准。
Spirng测试 - &Spring Boot Test - 针对 Spring Boot applications 的实用程序和 integration 测试支持。
AssertJ- 一个 fluent 断言 library。
Hamcrest- matcher objects 的 library(也称为约束或谓词)。
Mockito - Java mocking framework。
JSONassert- JSON 的断言 library。
jsonPath- 用于 JSON 的 XPath。

# SpringBoot中的使用

# 1.pom导入包

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
1
2
3
4
5

# 2.写测试代码-测试应用上下文

package com.example.project;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
public class ExampleTest {
    @Test
    public void contextLoads() {

    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 3.测试mvc-hello

package com.example.project.web;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;

import static org.hamcrest.core.IsEqual.equalTo;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

@RunWith(SpringRunner.class)
@SpringBootTest(classes = HelloController.class)
@AutoConfigureMockMvc
public class RestHelloControllerTest {
    @Autowired
    private MockMvc mockMvc;

    @Test
    public void testHello() throws Exception {
        mockMvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
                .andExpect(status().isOk())
                .andExpect(content().string(equalTo("Hello Spring boot!")));
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

# 质料

编写hello springboot 测试入门 (opens new window)

Stringboot测试文档 (opens new window)

全量分析

评 论:

上次更新时间: 11/18/2019, 4:11:51 PM