Intellij IDEA使用junit单元测试及其junit与spring版本不兼容问题

2018-02-05 11:04:11来源:oschina作者:天佑我儿人点击

分享

Intellij IDEA自动创建单元测试,这在我之前的博客已有介绍IntelliJ IDEA中用快捷键自动创建测试类



下面是我在创建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(烈火汉化版),添加入依赖




junit
junit
4.12-beta-3
发现项目能运行,测试也能顺利进行,终于解决了bug

微信扫一扫

第七城市微信公众平台