您的位置:首页 > 编程语言 > Java开发

Spring boot之单元测试

2017-08-18 19:56 253 查看
        在写工程代码的时候,经常需要调试自己的方法、接口是否有问题,能否正常调用,尤其多人合作开发项目时,工同程的融合,每个接口的问题都将导致工程不能正常运行。

       对于Spring boot程序,框架对测试提供了很好的支持,这里简单总结一下测试方法。这里的单元测试主要包括Service的测试和API的测试(即Controller的测试)。

一、Service的测试

        Service主要负责执行具体的业务逻辑的处理,打开一个Service代码(这里在之前的项目中打开StudentService.java文件,新建一个通过学号查询学生信息的方法,然后测试该方法,具体实现如下):



        然后在工程目录的test文件夹下建立对应的测试程序StudentServiceTest.java,这里需要加入两个注解:@RunWith(SpringRunner.class)表示测试环境,以及@SpringBootTest表示启动整个应用程序,然后注入StudentService,在具体的测试方法前加上@Test注解即可:



        然后直接右键运行该测试程序,或者双击该测试方法->右键运行该测试方法,如果有错误,会具体指出错误的地方,如下图所示,如果没有问题则会说明测试成功(我这里学号为20110002的学生的name为Test,在测试程序中断言其为Test11,所以报错):



============================================================================

        或许上面的步骤,你觉得麻烦,那么正好,IDEA给我们提供了自动生成的功能:在需要测试的方法上双击选中->右键Go To->Test->Create Test Method,则会自动在test下生成service目录,并在service目录下生成框架代码,然后与直接添加测试逻辑代码即可。



二、Controller的测试,即API的测试

        Controller里面主要负责访问请求的处理,即为外部提供访问接口。按照上述步骤生成测试框架代码,然后按照请求路径,测试路径、逻辑是否都正确,这里引入@AutoConfigureMockMvc注解进行具体的逻辑测试。这里以Get方法请求“/students”路径下的方法(即查询学生信息):



以上是单个方法或接口的测试,如果想同时测试多个接口,那么Maven也为我们提供了很好的可视化操作,如下图所示。然后每次重新整理工程依赖、打包什么的直接点击运行即可,在测试有问题的地方,跟上面一样会具体指出哪里有错误。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: