测试类
package com.wg.demoboot;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MockMvcBuilder;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import static org.hamcrest.Matchers.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
@WebAppConfiguration //开启web应用的注解,用于模拟servletContext
public class DemoBootApplicationTests {
private MockMvc mvc;
/**
* 将在test方法执行之前执行
*/
@Before
public void setMockMvc(){
//初始化对GreetController的模拟
this.mvc= MockMvcBuilders.standaloneSetup(new GreetController()).build();
}
@Test
public void contextLoads() throws Exception{
//perform执行一次请求 accept设置返回值类型 andExpect设置期望结果
mvc.perform(MockMvcRequestBuilders.get("/").accept(MediaType.APPLICATION_JSON))
.andExpect(status().isOk()).andExpect(content().string(equalTo("hello world")));
}
}
多环境配置
spring.profiles.active = dev
application-dev.yml
application-test.yml
actuator监控配置
引入
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
启动项目,访问 localhost:port/actuator/health ,可得到当前状态
默认只开启了info和health两个端点.
可在配置文件中开启