Было ли тестовое покрытие больше 80% на проектах

«Было ли тестовое покрытие больше 80% на проектах» — вопрос из категории Тестирование, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

На моих проектах тестовое покрытие обычно составляло 60-80%. Полностью покрывать код тестами не всегда целесообразно - некоторые вещи (UI, интеграции) сложно тестировать, а выгода не всегда оправдывает затраты.

Пример:

class Calculator {
    fun add(a: Int, b: Int) = a + b
}

class CalculatorTest {
    @Test
    fun testAdd() {
        val calc = Calculator()
        assertEquals(5, calc.add(2, 3))
    }
}

Важнее писать осмысленные тесты для критичной логики, чем гнаться за %.