Я работаю над проектом PHP с полным охватом юнит-тестов.
Я заметил, что в прошлый раз я совершал очень хитрые манипуляции с модульными тестами Командная строка Test Runner ' - команда фильтра .
Вот объяснение этой команды из официальной документации:
- фильтр
Запускает только тесты, имя которых соответствует заданному шаблону. Шаблон может быть либо именем отдельного теста, либо регулярным выражением, совпадающим с несколькими именами тестов.
Я часто использую его, потому что иногда становится очень полезным запускать только один набор тестов или тестовый набор из всей тестовой базы.
Мне интересно, хорошая ли это практика или нет?
Я слышал, что иногда рекомендуется запускать весь набор тестов на компьютере с непрерывной интеграцией, если вы точно знаете , что вы изменили только один компонент и 100% процентов уверен, что он не пройдет проверку модульных тестов других компонентов.
Что вы думаете об этом?
Некоторое время назад я думал, что нас не должно волновать столько времени, сколько требуется для запуска всего набора всех модульных тестов, но когда у вас очень сложная бизнес-логика и модульные тесты - это может занять значительное время. 1029 *
Я понимаю, что "настоящие" юнит-тесты не должны взаимодействовать с БД, использовать объекты mock / stubs, я согласен с этим. Но иногда гораздо проще (дешевле) использовать приборы БД для тестов.
Пожалуйста, дайте мне несколько советов, как решить эту проблему?