метод не вызывается внутри другого метода в JUnit - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть метод, который вызывает другой механизм внутри. Вот мой метод:

    public void unblocUser(BloclistDTO bloclistDTO) {
    blocListRepository.delete(mapper.toModel(bloclistDTO));
      if (blocListRepository.getBlocList(bloclistDTO.getCandidate().getId(), bloclistDTO.getColumnName()).isEmpty()) {
        this.setVisibility(bloclistDTO.getCandidate().getId(), bloclistDTO.getColumnName(), true);
    }  
}

Я протестировал сам метод setVisibility, он работает. Но при вызове unblocUser это не работает; Вот как я его тестирую:

@Test
public void unblocUserLastOne() {
        Company  blockedCompany = new Company (); 
        Candidate  candidate = new Candidate (); 
        candidate.setId(1L); 
        candidate.setPersonalDetailsVisible(false);;
        blockedCompany.setId(2L);
        candidate.setPersonalDetailsVisible(false);
        BloclistDTO bloclist= new BloclistDTO(); 
        bloclist.setBlockedCandidate(null);
        bloclist.setCandidate(candidate);
        bloclist.setBlockedCompany(blockedCompany);
        bloclist.setColumnName("personal_details_visible");   
        bloclist.setId(3L);
        blocListService.unblocUser(bloclist); 
         assertEquals(true, candidate.isPersonalDetailsVisible());   
} 

Я получаю сообщение об ошибке: ожидалось, что истина, но была ложь. Любая помощь, пожалуйста?

1 Ответ

0 голосов
/ 17 февраля 2020

сначала необходимо создать фиктивный объект для класса BlocListRepository

@InjectMocks
BlocListRepository blocListRepository;

Затем смоделировать метод удаления в классе BlocListRepository.

@Test
public void unblocUserLastOne() {

    Mockito.doNothing().when(blocListRepository).delete(Mockito.any());

    Company  blockedCompany = new Company (); 
    Candidate  candidate = new Candidate (); 
    candidate.setId(1L); 
    candidate.setPersonalDetailsVisible(false);;
    blockedCompany.setId(2L);
    candidate.setPersonalDetailsVisible(false);

    BloclistDTO bloclist= new BloclistDTO(); 
    bloclist.setBlockedCandidate(null);
    bloclist.setCandidate(candidate);
    bloclist.setBlockedCompany(blockedCompany);
    bloclist.setColumnName("personal_details_visible");   
    bloclist.setId(3L);
    blocListService.unblocUser(bloclist); 
    assertEquals(true, candidate.isPersonalDetailsVisible());   
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...