Intellij IDEA使用junit单元测试及其junit与spring版本不兼容问题
2017-11-04 17:37
746 查看
Intellij IDEA自动创建单元测试,这在我之前的博客已有介绍 IntelliJ IDEA中用快捷键自动创建测试类
下面是我在创建springboot测试类中的说明和遇到的问题
创建好了测试类后
例如我的service测试:
import com.oldbig.domain.Girl;
如果测试成功的话并且数据对应的话则无异常显示,但是我在运行时出现:
java.lang.IllegalStateException: SpringJUnit4ClassRunner requires JUnit 4.12 or higher.错误
表示我的junit版本太低了需要4.12以上,我换了4.12后,发现项目都运行不了(本来用4.10项目可以运行只是测试错误):显示程序包org.junit不存在
错误
这时候我换了更高版本4.4,4.5之类的都不行,百度了以下,发现了 4.12-beta-3(烈火汉化版),添加入依赖
:<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12-beta-3</version>
</dependency>发现项目能运行,测试也能顺利进行,终于解决了bug
下面是我在创建springboot测试类中的说明和遇到的问题
创建好了测试类后
1.测试service层测试类需要加上注解:@Runwith,@SpringBootTest 2.测试Controller层测试类需要加上注解:@Runwith,@SpringBootTest,@AutoConfigureMoceMvc
例如我的service测试:
import com.oldbig.domain.Girl;
import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class GirlServiceTest { @Autowired private GirlService girlService; @Test public void getAge() throws Exception { Girl girl = girlService.getAge(5); Assert.assertEquals(new Integer(15),girl.getAge()); } }
如果测试成功的话并且数据对应的话则无异常显示,但是我在运行时出现:
java.lang.IllegalStateException: SpringJUnit4ClassRunner requires JUnit 4.12 or higher.错误
表示我的junit版本太低了需要4.12以上,我换了4.12后,发现项目都运行不了(本来用4.10项目可以运行只是测试错误):显示程序包org.junit不存在
错误
这时候我换了更高版本4.4,4.5之类的都不行,百度了以下,发现了 4.12-beta-3(烈火汉化版),添加入依赖
:<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12-beta-3</version>
</dependency>发现项目能运行,测试也能顺利进行,终于解决了bug
相关文章推荐
- 由于Spring3.0.5、Hibernante3.2.7、Struts2.1版本不兼容导致的问题及其解决办法。
- 记录问题:springboot中使用Mybatis-pagehelper分页插件遇到的版本兼容问题
- spring3.2及其以下版本和jdk8不兼容的问题.
- Spring项目中使用Junit单元测试并配置数据源的问题
- 在Myeclipse里使用Junit贴图教程与使用JUnit在struts+spring+hibernate框架环境下进行单元测试
- Spring整合JUnit框架进行单元测试代码使用详解
- Hibernate使用Spring进行单元测试时的事务问题
- 使用JUnit在struts+spring+hibernate框架环境下进行单元测试
- Android仿新版微信主界面(使用android-support-v7兼容包,兼容2.2及其以上版本)
- 使用spring配合Junit进行单元测试的总结
- 使用Filters滤镜弥补CSS3的跨浏览器问题以及兼容低版本IE
- maven下使用junit对spring进行单元测试_01基本应用
- spring.net 1.1.0 P3版本 中spring.core.dll 1.1.0.2版本对于AOP使用ADVICE中涉及使用ref/out参数的小问题
- intellij idea使用junit时出现的问题以及解决办法
- quartz spring 版本兼容问题
- 怎样在xcode5中使用低版本sdk,解决兼容ios7ui问题
- 在spring下使用junit做单元测试的基本方法
- 使用Common.Logging与log4net的组件版本兼容问题
- 使用JUnit在struts+spring+hibernate框架环境下进行单元测试
- 怎样在xcode5中使用低版本sdk,解决兼容ios7ui问题