1、环境
spring boot 版本:2.4.3
2、遇到的问题
(1)@Before、@After 失效
(2)org.junit.runners.model.InvalidTestClassError:
3、解决方式
注意 import 的 junit 包的配套问题
#junit5 配套
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
#junit4 配套
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
问题1、在 junit5 中 @Before、@After 用@BeforeEach 、@AfterEach 替代。
问题2
(1)主要出现在使用 junit5 配套引用时,新建的单元测试类在单元测试时,会出现报错,也就是说单元测试类的包名与启动类的包名一直,测试类类名只是在启动类的类名上多了一个Tests就无问题。例:启动类名:DomeApplication;那么单元测试类类名就叫DomeApplicationTests,在该类下写的测试方法就无问题。
(2)如果想每个控制器类对应一个单元测试类,建议使用junit4 配套,junit5 目前没找到解决方法。