Я пытаюсь написать модульный тест для класса, несколько полей которого помечены как @Autowired. Учитывая тот факт, что Spring автоматически разрешает конкретные реализации для этих полей, мне трудно разобраться, как подключить мои объекты Mock (созданные с помощью EasyMock) в качестве зависимостей во время выполнения теста. Использование @Autowired в классе означает отсутствие сеттеров в этом классе. Есть ли способ для меня подключить мои фиктивные объекты без создания дополнительных сеттеров в классе?
Вот пример того, чего я пытаюсь достичь:
public class SomeClassUnderTest implements SomeOtherClass{
@Autowired
private SomeType someType;
@Autowired
private SomeOtherType someOtherType;
@Override
public SomeReturnType someMethodIWouldLikeToTest(){
//Uses someType and someOtherType and returns SomeReturnType
}
}
Вот как я создаю свой тестовый класс, прежде чем удариться о стену:
public class MyTestClassForSomeClassUnderTest{
private SomeType someType;
private SomeOtherType someOtherType;
@Before
public void testSetUp(){
SomeClassUnderTest someClassToTest = new SomeClassUnderTest();
someType = EasyMock.createMock(SomeType.class);
someOtherType = EasyMock.createMock(SomeOtherType.class);
//How to set dependencies????
}
@Test
public void TestSomeMethodIWouldLikeToTest(){
//??????
}
}
Будет здорово получить толчок в правильном направлении.
Спасибо