org.junit.Test与org.junit.jupiter.api.Test的区别?
org.junit.Test 的底层
底层有一个核心运行器 Runner ,里面有个main方法去反射执行标记有 @Test
的注解的方法。
org.junit.Test 是 Spring 家族的吗?
不是,所以在测试单元中使用@Autowired
注解是并不会被解析得到的,也就是说org.junit.Test
没有Spring容器,所以要使用的话需要使用@Runwith(SpringRunner.class)
注解来表示使用Spring的核心运行器去替代掉org.junit.Test
的核心运行器,因为Spring的核心运行器会帮我们创建Spring容器。
如果使用org.junit.jupiter.api.Test呢?
org.junit.jupiter.api.Test
会默认创建Spring容器