Автопроводные классы являются нулевыми при запуске модульного теста - PullRequest
0 голосов
/ 28 февраля 2020

У меня проблемы с модульным тестом. Испытуемый использует фабричный класс для создания 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;
        }
    }
}

Не уверен, что я делаю, чтобы заставить пружину работать внутри фабрики

...