前提条件:
1,测试类上面添加支持的注解,就能取到spring中的容器的实例,如果配置了@Autowired那么就自动将对象注入。
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = Application.class)//这里Application是启动类
pom文件添加:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-test</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.25.RELEASE</version>
<scope>compile</scope>
</dependency>
2,出现java.lang.NoSuchMethodError: org.springframework.util.Assert.state(ZLjava/util/function/Supplier;)V错误
这种错误的出现一般都是jar包冲突,这里是将spring-test的版本号由5.1.11版本换成了4.3.25解决了(可参考比较spring-context的版本),当重复引用时也会提示错误,所以引入时需要注意!
3,注解解释
- @runWith注解作用:
- – @RunWith就是一个运行器
- – @RunWith(JUnit4.class)就是指用JUnit4来运行
- – @RunWith(SpringJUnit4ClassRunner.class),让测试运行于Spring测试环 境,以便在测试开始的时候自动创建Spring的应用上下文
- – @RunWith(Suite.class)的话就是一套测试集合
SpringTest与JUnit等其他测试框架结合起来,提供了便捷高效的测试手段。而SpringBootTest 是在SpringTest之上的再次封装,增加了切片测试,增强了mock能力。
4,junit测试如何在idea上通过类中方法直接生成测试用例。
第一步
从插件资源库中搜索JunitGenerator V2.0插件并安装
第二步
配置测试用例的生成目录
1.打开File->Settings
2.搜索junit,找到JUnit Generator
3.Properties选项卡里的Output Path为测试用例生成的目录,修改为test目录:${SOURCEPATH}/../../test/java/${PACKAGE}/${FILENAME}
4.切换到JUnit 4选项卡,可以修改生成测试用例的模板,比如类名、包名等
第三步
为指定的方法创建自动创建测试用例右键