thenReturn не возвращает ожидаемые значения - PullRequest
0 голосов
/ 15 марта 2019
@Component
public class RefValidator implements Component {

    @Autowired
    private Repository repository;


    public void validate(Context context) {
        Txn txn = context.getTxn();
        if (Objects.nonNull(txn) && !StringUtils.isEmpty(txn.getReferenceNumber())){            
             if(txn.getId() == 0){
                boolean isRealmIdAndReferenceNumberExists = repository.isRefNumberExistsInSale(txn.getRealmId(), txn.getReferenceNumber());
                if(isRealmIdAndReferenceNumberExists){
                    throw new Exception();
                }
            }

        }
    }
}

У меня есть класс, как указано выше, и я хочу проверить его с помощью mockito. Я делаю @INjectMock для RefValidator и @Mock на Repository, но когда я делаю

Mockito
    .when(repository.isRefNumberExistsInSale(Mockito.anyString(),Mockito.anyString()))
    .thenReturn(true);

thenReturn не возвращается true .

1 Ответ

0 голосов
/ 15 марта 2019

Трудно определить, в чем проблема, потому что вы не предоставили свой тестовый класс.Но похоже, что ваши аннотации не обрабатываются во время выполнения тестового набора.

Попробуйте одно из следующих действий:

  • Добавьте @RunWith(MockitoJUnitRunner.class) над тестовым классом
  • Добавьте MockitoAnnotations.initMocks(this); в метод установки (который отмечен @Before)

См. 2-й раздел этой статьи для получения справки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...