| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Как в PHPUnit задать метод для конструктора?.. |
| Автор: mus 15.5.2013, 13:38 | ||
| Уважаемые, разработчики. Разбираюсь с юнит-тестированием под php. Есть класс (упрощаю для наглядности)
И еще некоторые методы у этого класса. Как покрыть методы класса я знаю - ключевое слово test перед названием метода. А как определить тестируемую ситуацию для конструктора?.. Неужели test__construct? В интернете ничего не нашел про это. |
| Автор: ksnk 15.5.2013, 14:05 |
phpUnit? В комплекте с phpStorm он сам считает покрытие. Достаточно использовать конструктор в каком-нибудь тесте и он уже "подсчитан и покрыт". А в чем практический смысл полного покрытия? Все равно, 100% покрытие - это довольно искусственное значение, нужное только и исключительно для отчета начальника группы тестирования своему начальнику Добавлено через 3 минуты и 54 секунды Обычно, тестируют ситуацию. Строят некие данные, подсовывают сгенерированной модельке эти данные, проверяют результат. Сама такая проверка запихивается в метод класса-юниттестера с именем test_***. Какие при этом методы зацепились - те и протестированы. В зависимости от разных данных некоторые методы можно и нужно перекрывать еще неоднократно, в зависимости от смысла и значения входных данных. |
| Автор: ksnk 20.5.2013, 10:06 | ||
Практический смысл примерно тот же. Когда гром грянет - будет дополнительная отмазка. Гарантии корректной работы системы это все равно не дает, а вот возможность успокоится и сказать "я все отестировал, мне об этом code coverage сказал" - довольно опасна. |
| Автор: krundetz 20.5.2013, 10:54 | ||
без страховки от этого сертификацию не пройти Мне нравиться фраза одного ответственного лица которую он сказал во время прохождения сертификации. Его спросили какие меры безопасности существуют на случай протечки бочек с агрессивным продуктом. Он сказал что бочки двойные и с датчиком на протечку. В случае протечки внутренней емкости и срабатывание датчика бочка подлежит немедленной замене. Его спросили а что будет если протечка будет сквозная на обе емкости и датчик откажет. Он сказал что на этот случай у них существует: 1. план эвакуации персонала, 2. обученная бригада быстрого реагирования, 3. у бригады имеется специальное оборудование для быстрого устранения проблемы, 4. регулярно проводятся учения этой бригады, 5. регулярно проводиться проверка рабочего состояния спецооборудование, 6. нештатные ситуации тщательно анализируются и на основе этого меняется организация рабочего процесса. Смысл всего этого в том что должна быть предусмотрена мера реагирования на нештатную ситуацию. Если она есть в большинстве мы получим надежную систему. |