В чем разница между SpringJUnit4ClassRunner и SpringRunner

88

Всякий раз, когда я вижу сообщение в блоге, связанное с тестированием Spring, я вижу любой из этих классов, но не понимаю реальной разницы:

@RunWith(SpringRunner.class)
@RunWith(SpringJUnit4ClassRunner.class)
Хумоюн Ахмад
источник

Ответы:

30

@RunWith(SpringRunner.class)сообщает JUnit о необходимости запуска с использованием поддержки тестирования Spring. SpringRunner- это новое имя SpringJUnit4ClassRunner, просто оно немного приятнее для глаз.

SpringRunner доступно только в Spring-Test 4.3.

SpringRunnerкласс расширяется SpringJUnit4ClassRunner.

Исходный код из SpringRunnerIS

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

}
Джоби Уилсон Мэтьюз
источник
7
похоже, это в значительной степени дубликат раннего ответа.
StvnBrkdll
7
это добавило дополнительную информацию, чтобы понять детальную связь между SpringRunner& SpringJUnit4ClassRunner.
Эдди