Spring boot 单元测试:
常用的程序测试方法有:
1、直接通过在浏览器输入网址访问;
2、通过postman工具来测试;
3、通过编写python脚本来进行测试;
但这样经常会一测就要测一整块,相对单元测试来说定位问题比较麻烦,单元测试能帮助我们拆分方法,单独测试些关键的代码、功能,是日常开发中必备的技能,同时也是各大公司招技术人员的必要要求之一。但今天看了不少文章,也试了不少,发现即是很简单的东西自己也走了不少弯路,所以觉得很有必要把今天的练习写下来。
这里要说明一下,在单元测试里面在注入的时候,用Autowired和用new是有很大区别的,
@autowire跟XML方式注入类似,是Ioc容器负责创建新的实例,实例里可以有其他的依赖关系并也由springIoc容器负责注入,如果只是简单的new一个对象的话,新对象里面的所有变量依赖都是没有注入的,这样就失去了Ioc的意义。而且new的对象不能调用注入的其他类!!!
详细步骤:
Spring boot目录结构一般是固定的:
选中要测试的方法体右键:
会弹出新建测试类的框
上面一个是我测试建的,如果要新建应该选第二个:Create New Test...
上面是生成测试类的名称以及测试的一些属性,下面是选择你要放入的待测试的模块:
下面开始上代码:
Spring boot自带的测试基类(启动配置):
package com.ai.rai.group.workflow.application;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.Spr