Мне не всегда нравились тесты, я думал, что они утомительны и отнимают время, которое я мог бы вложить в разработку и создание нового интересного приложения, просто проверяя, что мой код хорош. И как говорил мой друг:
Я вообще не пишу ошибок
Все шло хорошо, пока кодовая база моей команды не выросла намного (более 100 тысяч строк исходного кода согласно Sloc), и я обнаружил, что все больше и больше работаю над ошибками и пытаюсь понять, когда и почему изменилось какое-то поведение.
Итак, мы начали писать некоторые конвейеры с большим количеством тестов Python и некоторыми тестами Angular и увидели, что, хотя наши тесты Python действительно имели большую ценность и предотвращали множество ошибок, наши тесты Angular были менее эффективны в поиске следующей ошибки.
Почему так сложно тестировать и находить ошибки?
На мой взгляд, это по одной основной причине:
Angular - это все о состоянии
Когда вы создаете компонент, который является частью другого компонента, и вы проверяете только свой метод компонента, этого недостаточно. Обычно вам нужно проверить общую картину и проверить состояние вашего приложения.
И это становится сложнее, когда ваше приложение больше и использует больше управления состоянием, например Ngrx Store, или службы с состоянием.
Итак, объяснив, как мы перешли от нежелания тестов к желанию тестов, но не смогли написать тесты, которые будут иметь значение, я теперь объясню три (или более) способа написания тестов, а также их преимущества и недостатки.
1. Использует модульное тестирование.
2. Тестирование Ngrx Store.
3. Компонентное тестирование.
Пожалуйста, дайте мне знать, какой из трех интереснее.
И не забывайте хлопать, если вам понравилось 👏
Первый в сети: