PHP 8 Alpha 3, PhpStorm 2020.2, новый оператор ?->, снова обсуждение синтаксиса атрибутов и другие новости PHP Internals, обзор системы типов в PHP, порция полезных инструментов, видео, стримы.
А что делать с ошибками в тесте (т.е. когда в коде ошибка, но тест проходит и программист не замечает ошибку)? Кто что про это думает? (ЗЫ Надеюсь это не вызовет очередной срач)
Анонимный опрос
11%
У нас тесты без ошибок т.к., например, юзаем TDD или ваш вариант
Я имел в виду что могут быть логические ошибки в тесте который на 100% покрывает тестируемый код, но при этом в случае внесения изменений в этот код которые должны ломать тест они его не ломают.
из того что могу сказать по тестам которые видел у людей за последние 3-4 года:
- оч любят "устранять дублирование" и оверюзить дата провайдеры всякие - редко юзают кастомные ассерты для выражения того что мы хотим проверить - это помогает и с дублированием и прячет нюансы проверки под понятным именем что бы "Логические ошибки" проще было видеть - очень плохи имена тест кейсов которые намекают что мы не знаем что мы проверяем - недостаточная изоляция тест кейсов (тест кейсы в стиле "оно должно работать" которые проверяют сразу несколько вещей). Тут легко ошибаться
из того что могу сказать по тестам которые видел у людей за последние 3-4 года:
- оч любят "устранять дублирование" и оверюзить дата провайдеры всякие - редко юзают кастомные ассерты для выражения того что мы хотим проверить - это помогает и с дублированием и прячет нюансы проверки под понятным именем что бы "Логические ошибки" проще было видеть - очень плохи имена тест кейсов которые намекают что мы не знаем что мы проверяем - недостаточная изоляция тест кейсов (тест кейсы в стиле "оно должно работать" которые проверяют сразу несколько вещей). Тут легко ошибаться
Многие не знают даже что можно делать кастомные асерты.
Я имел в виду что могут быть логические ошибки в тесте который на 100% покрывает тестируемый код, но при этом в случае внесения изменений в этот код которые должны ломать тест они его не ломают.
Мутационное тестирование такие тесты поймает. Но это трудозатратнее, конечно.