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

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

你可能感兴趣的:(Intellij,IDEA)