После рефакторинга корзины сломались 30 тестов, хотя приложение работает
@Test
fun addItem() = runTest {
vm.onAdd(item)
coVerifyOrder {
repo.getCart()
repo.saveCart(any())
}
}
Репозиторий получил метод addItem(item), и ViewModel стала вызывать его вместо пары getCart + saveCart. Поведение для пользователя то же, но 30 подобных тестов упали. Как писать тесты устойчивее?
- Фейковый репозиторий в памяти и проверка состояния
- Использовать relaxed-моки во всех тестах
- Проверять вызовы через verify без порядка
- Не тестировать ViewModel, только репозиторий
