SpringJUnit4ClassRunner 和 SpringRunner 有什么区别

What is the difference between SpringJUnit4ClassRunner and SpringRunner

每当我看到与 Spring 测试相关的博客 post 时,我都会看到其中任何一个 类 但不明白真正的区别:

@RunWith(SpringRunner.class)
@RunWith(SpringJUnit4ClassRunner.class)

没有区别,来自javadoc:

SpringRunner is an alias for the SpringJUnit4ClassRunner.

参考:https://docs.spring.io/spring/docs/4.3.0.RC2_to_4.3.0.RELEASE/Spring%20Framework%204.3.0.RELEASE/org/springframework/test/context/junit4/SpringRunner.html

@RunWith(SpringRunner.class) 告诉 JUnit 运行 使用 Spring 的测试支持。 SpringRunnerSpringJUnit4ClassRunner 的新名称,只是看起来更容易一些。

SpringRunner 仅适用于 spring-test 4.3。

SpringRunner class 扩展 SpringJUnit4ClassRunner.

SpringRunner

Source code

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);
    }

}