У меня проблемы с модульным тестом. Испытуемый использует фабричный класс для создания ValidationRule. Фабрика использует пружину для автоматического подключения некоторых классов. Однако всякий раз, когда я запускаю тест, классы с автопроводкой всегда равны нулю.
@ExtendWith(MockitoExtension.class)
@DisplayName("BankDetailsValidator Unit Tests")
class BankDetailsValidatorTest {
@Spy
private ValidationExceptionRuleFactory validationExceptionRuleFactory;
@InjectMocks
private BankDetailsValidator testSubject;
Я внедряю validationExceptionRuleFactory как шпион. Я не хочу издеваться над его поведением. Мне просто нужно, чтобы он работал как обычно.
@Component
public class ValidationExceptionRuleFactory {
@Autowired
private ValidationExceptionRule validationExceptionRuleOne;
@Autowired
private ValidationExceptionRule validationExceptionRuleTwo;
public ValidationExceptionRule getValidationExceptionRule(int exceptionRule){
if(exceptionRule==1){
return validationExceptionRuleOne;
}else{
return validationExceptionRuleTwo;
}
}
}
Не уверен, что я делаю, чтобы заставить пружину работать внутри фабрики