在实际项目开发中,都需要对单个功能进行单元测试,这里使用Mockito测试框架进行spring boot应用的单元测试。关于Mock和Mockito是什么,自行百度。
Mockito是GitHub上使用最广泛的Mock框架,并与JUnit结合使用。
1、创建测试类HelloControllerTest,如下
代码如下:
package com.example.demo.controller;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
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.setup.MockMvcBuilders;
@RunWith(SpringRunner.class)
@SpringBootTest
public class HelloControllerTest {
// mock
private MockMvc mvc;
/**
* 初始化MockMvc
*/
@Before
public void before() {
mvc = MockMvcBuilders.standaloneSetup(new HelloController()).build();
}
@Test
public void testHello() throws Exception {
mvc.perform(MockMvcRequestBuilders.get("/hello?name=spring boot"));
}
}
2、运行测试案例,如果如下
可以在HelloController加入打印语句,如下
@RequestMapping("/hello")
public String hello(String name) {
String msg = "hello " + name;
System.out.println(msg);
return msg;
}
打印的结果如下