pom.xml添加:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
文件夾和文件:
類文件:
@SpringBootTest @RunWith(SpringRunner.class)
//@RunWith(SpringJUnit4ClassRunner.class)
public class JunitTest {
@Test
public void test1(){
System.out.println("wuewewe");
}
}
解讀:
@SpringBootTest替代了spring-test中的@ContextConfiguration注解,目的是加載ApplicationContext,啟動spring容器。如果要引用spring容器總的bean,必須有該注解;不涉及可以不加該注解。
@RunWith是Junit4提供的注解,將Spring和Junit鏈接了起來。假如使用Junit5,不再需要使用@ExtendWith注解,@SpringBootTest和其它@*Test默認已經包含了該注解。
@RunWith(SpringRunner.class)
@RunWith(SpringJUnit4ClassRunner.class)
這兩個有什么區別?
SpringRunner 繼承了SpringJUnit4ClassRunner,沒有擴展任何功能;使用前者,名字簡短而已。
源碼:
package org.springframework.test.context.junit4; import org.junit.runners.model.InitializationError; public final class SpringRunner extends SpringJUnit4ClassRunner { public SpringRunner(Class<?> clazz) throws InitializationError { super(clazz); } }