В настоящее время я играю с springockito-annotations
, для этого требуются аннотации @RunWith
и @ContextConfiguration
. Я хотел бы поместить эти аннотации в суперкласс моих тестов, но не могу заставить его работать.@ContextConfiguration не наследуется Springckito
Суперкласс:
@RunWith(SpringJUnit4ClassRunner.class)
@TestExecutionListeners({ DependencyInjectionTestExecutionListener.class, DirtiesContextTestExecutionListener.class})
@ContextConfiguration(loader = SpringockitoContextLoader.class, locations = "classpath:spring/test-context.xml")
public class MyTestSuperclass {
//...
Пример TestClass:
public class MyTest extends MyTestSuperclass {
@Inject
@ReplaceWithMock
private MyService myService;
//...
С помощью этого кода, myService
не заменен на макет.
Но, если я изменить его ...
@ContextConfiguration
public class MyTest extends MyTestSuperclass {
//...
... это работает.
Есть ли способ избежать необходимости добавлять @ContextConfiguration
ко всем моим тестовым классам? Возможно, это было исправлено в более новой версии Spring
/Spring-tests
? Из того, что я могу сказать, он может наследовать часть locations
из суперкласса без аннотации подкласса, но часть loader
не работает без аннотации в подклассе. Я использую версию 3.2.1.RELEASE Spring-test
.
Вот пример Projec, который показывает ошибку:
http://www.filedropper.com/springockitobug
'пружинно-test' поддерживает наследование погрузчиков, так как Spring Framework 3.0. Поэтому вам определенно не нужно обновлять пустую '@ ContextConfiguration'. Возможно, проблема с реализацией Springockito. Вы хотели бы опубликовать минимальный примерный проект, чтобы продемонстрировать это поведение (например, на GitHub)? –
Я думаю, что виновником является 'springockito-annotations', у меня также были проблемы, когда у аннотированного класса был не аннотированный суперкласс, в этих случаях' @ ReplaceWithMock' тоже не работал. – Tobb
Добавлен минимальный проект. Не удалось воспроизвести ошибку в приведенном выше комментарии в минимальном проекте, поэтому должно было быть связано с чем-то другим. – Tobb