Чем unit tests отличается от instrumented tests и когда что выбрать?
Что хотят услышать интервьюеры:
Сравнение: unit tests нужно оценивать относительно instrumented tests по критериям lifecycle, читаемости, тестируемости, производительности и поддержки.
Ответ:
Когда выбирать unit tests: когда его свойства прямо соответствуют задаче: быстрые JVM-тесты для use cases, mappers, reducers, validators и ViewModel logic.
На собеседовании: не говорите «это современнее»; объясните trade-off, ограничения и возможные ошибки. Типичный анти-паттерн: писать flaky UI tests, тестировать implementation details или зависеть от реальной сети/базы без контроля.
@Test fun mapsDtoToDomain() { }