Я немного запутался с UnitTest и интеграционным тестом
Я знаю, что приведенный ниже код является интеграционным тестом
@RunWith(SpringRunner.class)
@SpringBootTest(classes = LavaMasterApplication.class)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class CurrencyServiceImplTest {
@Autowired
private CurrencyService currencyService;
static CurrencyDTO currencyDTO = new CurrencyDTO();
@BeforeClass
public static void setUp() {
currencyDTO.setCode("INR");
currencyDTO.setName("Indian Rupee");
currencyDTO.setNumber(12);
}
@Test
public void testA_addCurrency() {
CurrencyDTO dto = currencyService.addCurrency(currencyDTO);
assertThat(dto).isEqualTo(currencyDTO);
}
}
Как написать пример модульного теста для того же подхода, что и для хранилища или службы. Я попытался с приведенным ниже фрагментом кода, который не работает.
@RunWith(MockitoJUnitRunner.class)
public class CurrencyServiceImplUT {
@Mock
CurrencyRepository repository;
@Test
public void testA_addCurrency() {
Currency currency = new Currency();
currency.setCode("IND");
currency.setName("INDIA");
currency.setNumber(1);
// CurrencyRepository currencyRepository = mock(CurrencyRepository.class);
when(repository.save(currency)).thenReturn(currency);
List<Currency> all = repository.findAll();
when(repository.findAll()).thenReturn(null);
}
}
Вышеупомянутый код не работает, он возвращает ноль после сохранения сущности, а findAll () также ноль.
Мне нужно написать тестовый блок для репозитория и сервисов