Java教程

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

本文主要是介绍Spring实战—1.8 测试基本的控制器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

如果审视一下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请求,并设置期望得到的视图名称。

这篇关于Spring实战—1.8 测试基本的控制器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!