·>Но как тут сделать 100% на каждом типе — неясно.
Скорее всего, 100% — только по строчкам, и то в сумме. Ну, 50% покрыто юнит-тестами, 25% интеграционными и 25% е2е. Потом мы складываем 50+25+25 и получаем 100 (по строкам кода). И удивляемся, как так, покрытие 100%, но юзеры постоянно рапортуют новые баги