環境
- jdk 7
- 4.3.24.RELEASE
背景
在使用 spring-test 的過程中,有兩個 runner 可以選擇,分別是 SpringRunner 和 SpringJUnit4ClassRunner。
如果是在 4.3 之前,只能選擇 SpringJUnit4ClassRunner,如果是 4.3 之后,建議選擇 SpringRunner。
SpringRunner 對 junit 的版本有要求,需要 4.12 及以上。
使用示例
加入依賴
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.24.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
SpringJUnit4ClassRunner
package jiangbo.springweb;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.context.annotation.Configuration;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
public class SpringJUnit4ClassRunnerTest {
@Test
public void testDemo() throws Exception {
assertTrue(true);
}
@Configuration
static class config {
}
}
SpringRunner
package jiangbo.springweb;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.context.annotation.Configuration;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@ContextConfiguration
public class SpringRunnerTest {
@Test
public void testDemo() throws Exception {
assertTrue(true);
}
@Configuration
static class config {
}
}