springboot测试类
时间: 2023-07-25 13:18:30 浏览: 90
Spring Boot 提供了多种测试注解和工具类,可以方便地编写测试类。下面是一些常用的测试类示例:
1. 单元测试类
单元测试类是用来测试单个类或方法是否符合预期的,通常不需要启动 Spring 应用。
```java
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class MyTest {
@Test
public void test() {
assertEquals(2, 1 + 1);
}
}
```
2. 集成测试类
集成测试类是用来测试应用的各个组件是否能够协同工作,通常需要启动 Spring 应用。
```java
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class MyTest {
@Autowired
private MyService myService;
@Test
public void test() {
myService.doSomething();
// 测试代码
}
}
```
3. Web测试类
Web 测试类是用来测试 Web 应用的,通常需要启动 Spring 应用,并使用 Spring Boot 提供的测试工具类进行测试。
```java
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.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
public class MyTest {
@Autowired
private MockMvc mockMvc;
@Test
public void test() throws Exception {
mockMvc.perform(MockMvcRequestBuilders.get("/hello"))
.andExpect(MockMvcResultMatchers.status().isOk());
}
}
```
在这个示例中,`@AutoConfigureMockMvc` 注解会自动配置一个 `MockMvc` 对象,用于模拟 HTTP 请求和响应。`mockMvc.perform()` 方法可以发送 HTTP 请求,`.andExpect()` 方法可以验证 HTTP 响应。
阅读全文