Mockito: Как протестировать мой Сервис с насмешкой?

Я являюсь новым для насмешки тестирования.

Я хочу протестировать свой Сервисный метод CorrectionService.correctPerson(Long personId). Реализация еще не записана, но это это, что это сделает:

CorrectionService назовет метод AddressDAO это удалит часть из Adress это a Person имеет. Один Person имеет Многих Addresses

Я не уверен, что базовая структура должна иметь мой CorrectionServiceTest.testCorrectPerson.

Также/не, подтверждают, что в этом тесте я не должен тестировать, если адреса на самом деле удалены (должен быть сделан в a AddressDaoTest), Только то, что метод ДАО называли.

Спасибо

5
задан Michael Bavin 14 July 2018 в 10:06
поделиться

1 ответ

Упрощенная версия класса CorrectionService (модификаторы видимости удалены для простоты).

class CorrectionService {

   AddressDao addressDao;

   CorrectionService(AddressDao addressDao) {
       this.addressDao;
   }

   void correctPerson(Long personId) {
       //Do some stuff with the addressDao here...
   }

}

В вашем тесте:

import static org.mockito.Mockito.*;

public class CorrectionServiceTest {

    @Before
    public void setUp() {
        addressDao = mock(AddressDao.class);
        correctionService = new CorrectionService(addressDao);
    }


    @Test
    public void shouldCallDeleteAddress() {
        correctionService.correct(VALID_ID);
        verify(addressDao).deleteAddress(VALID_ID);
    }
}  
5
ответ дан 18 December 2019 в 08:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: