Проблема в том, что вы используете другой Runner. Обычно люди используют SpringRunner.class
, который обрабатывает возможность создавать контекст теста и т. Д.
Создайте новый SpringRunner и инициализируйте TestContextManager, чтобы обеспечить функциональность тестирования Spring для стандартных тестов JUnit 4.
Чтобы использовать другой бегунок вместе с пружинными функциями, вы можете использовать комбинацию ClassRule
и Rule
@ClassRule
public static final SpringClassRule SPRING_CLASS_RULE = new SpringClassRule();
@Rule
public final SpringMethodRule springMethodRule = new SpringMethodRule();
SpringClassRule - это пользовательский JUnit TestRule, который поддерживает функции уровня класса Spring TestContext Framework в стандартных тестах JUnit с помощью TestContextManager и связанных вспомогательных классов и аннотаций.
В отличие от SpringJUnit4ClassRunner, основанная на правилах поддержка JUnit в Spring имеет то преимущество, что она независима от любого Runner и поэтому может быть объединена с существующими альтернативными бегунами, такими как JUnit Parameterized или сторонними бегунами, такими как MockitoJUnitRunner.
Для достижения той же функциональности, что и SpringJUnit4ClassRunner, однако, SpringClassRule должен быть объединен с SpringMethodRule, поскольку SpringClassRule поддерживает только функции уровня класса SpringJUnit4ClassRunner.
Без этого нет возможности Autowire в ваших зависимых классах и т. Д.
Я добавил PR в ваш проект с прохождением тестов.