继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Spring实战—1.8 测试基本的控制器

慕娘4130116
关注TA
已关注
手记 13
粉丝 0
获赞 0

如果审视一下HomeController。

  • 可能注意不到这些注解,看到的仅仅是一个简单的POJO 。

  • 我们都知道测试POJO是很容易的。

  • 因此,我们可以编写一个简单的类来测试HomeController,如下所示:

     	 程序清单5.5    HomeControllerTest:测试HomeController
    

file

  根据您的描述,程序清单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

file

  • 新版本的测试相比之前的版本只多了几行代码,但它更完整地测试了HomeController。这次测试不是直接调用home()方法并测试返回值,而是发起了对"/“的GET请求,并断言结果视图的名称为"home”。

  • 首先,它使用HomeControllerMockMvcBuilders.standaloneSetup()创建一个MockMvc实例,并调用build()方法进行构建。然后,使用MockMvc实例执行针对"/"的GET请求,并设置期望得到的视图名称。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP