- 如果审视一下HomeController。可能注意不到这些注解,看到的仅仅是一个简单的POJO 。我们都知道测试POJO是很容易的。
- 因此,我们可以编写一个简单的类来测试HomeController,如下所示:
程序清单5.5 HomeControllerTest:测试HomeController
根据您的描述,程序清单5.5中的测试是简单的,它只测试了home()方法的行为。测试直接调用home()方法,并断言返回的字符串包含"home"值。
第一点测试没有从Spring MVC控制器的角度测试,没有断言针对GET请求会调用home方法。
第二点没有判断 home是视图名称。
1.使用控制器的方式测试Spring MVC中的控制器,不仅仅作为POJO测试。
2.Spring提供一种模拟MVC执行HTTP请求的机制。
3.这样做不需要启动Web服务器和Web浏览器。
为了演示如何测试Spring MVC控制器,我们重写了HomeControllerTest,并使用了Spring MVC中的新测试特性。
程序清单5.6展示了新的HomeControllerTest。<br />
程序清单**5.6** 改进**HomeControllerTest**
- 新版本的测试相比之前的版本只多了几行代码,但它更完整地测试了HomeController。这次测试不是直接调用home()方法并测试返回值,而是发起了对"/"的GET请求,并断言结果视图的名称为"home"。
- 首先,它使用HomeControllerMockMvcBuilders.standaloneSetup()创建一个MockMvc实例,并调用build()方法进行构建。然后,使用MockMvc实例执行针对"/"的GET请求,并设置期望得到的视图名称。
本文由博客一文多发平台 OpenWrite 发布!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。