之前也说过,《Spring 实战》是一本很好的书,唯一不好的就是不叫你怎么配环境。
于是我来了。
接下来来配置junit,单元测试的环境。
在一个文件用
Ctrl + Shfit + T 就会生成Test文件
然后发现没有junit库
继续导入
由于idea慢的让人想打人,这次硬盘导入
https://mvnrepository.com/artifact/junit/junit/4.12,点里面的.jar下载
然后这么导入
直接照着书上来,先写一个简单版测试。
package demo.web;
import org.junit.Test;
import static org.junit.Assert.*;
public class HomeControllerTest {
@Test
public void TestHomePage() throws Exception {
HomeController controller = new HomeController();
assertEquals("home", controller.home());
}
}
然后发现不能运行
因为还缺少hamcrest 的包
继续下载
https://mvnrepository.com/artifact/org.hamcrest/hamcrest-all/1.3
接下来点第9行就可以运行了。
改一下
发现不能通过单元测试了。
接下来演示高级版。
package demo.web;
import org.junit.Test;
import org.springframework.test.web.servlet.MockMvc;
import static org.junit.Assert.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view;
import static org.springframework.test.web.servlet.setup.MockMvcBuilders.standaloneSetup;
public class HomeControllerTest {
@Test
public void TestHomePage() throws Exception {
HomeController controller = new HomeController();
MockMvc mockMvc = standaloneSetup(controller).build();
mockMvc.perform(get("/"))
.andExpect(view().name("home"));
}
}
这个模拟get请求,看视图是不是home,显然比上文初级版高级。