Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как в PHPUnit задать метод для конструктора?.. Для тестирования конструктора... 
:(
    Опции темы
mus
Дата 15.5.2013, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 22.5.2005

Репутация: нет
Всего: 1



Уважаемые, разработчики.
Разбираюсь с юнит-тестированием под php.
Есть класс (упрощаю для наглядности)

Код

Class TDate {
        public $startTime;
        
        function __construct() {
                $args = func_get_args();
                if(is_string($args[0]))
                        $this->startTime = ...;
                else
                        $this->startTime = ...;
        } 
}

 
И еще некоторые методы у этого класса.
Как покрыть методы класса я знаю - ключевое слово test перед названием метода.
А как определить тестируемую ситуацию для конструктора?..
Неужели test__construct?

В интернете ничего не нашел про это.
PM MAIL   Вверх
ksnk
Дата 15.5.2013, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Цитата(mus @  15.5.2013,  13:38 Найти цитируемый пост)
Разбираюсь с юнит-тестированием под php.

phpUnit?

В комплекте с phpStorm он сам считает покрытие. Достаточно использовать конструктор в каком-нибудь тесте и он уже "подсчитан и покрыт".

А в чем практический смысл полного покрытия? Все равно, 100% покрытие - это довольно искусственное  значение, нужное только и исключительно  для отчета начальника группы тестирования своему начальнику  smile

Добавлено через 3 минуты и 54 секунды
Обычно, тестируют ситуацию. 
Строят некие данные, подсовывают сгенерированной модельке эти данные, проверяют результат. Сама такая проверка запихивается в метод класса-юниттестера с именем test_***. Какие при этом методы зацепились - те и протестированы. В зависимости от разных данных некоторые методы можно и нужно перекрывать еще неоднократно, в зависимости от смысла и значения входных данных.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
krundetz
Дата 20.5.2013, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 20
Всего: 69



Цитата(ksnk @  15.5.2013,  14:05 Найти цитируемый пост)
Все равно, 100% покрытие - это довольно искусственное  значение, нужное только и исключительно  для отчета начальника группы тестирования своему начальнику

ну почему же, ещё для сертификации систем связанных с высокими рисками для жизней людей


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
ksnk
Дата 20.5.2013, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Цитата(krundetz @  20.5.2013,  09:10 Найти цитируемый пост)
ну почему же, ещё для сертификации систем связанных с высокими рисками для жизней людей 

Практический смысл примерно тот же. Когда гром грянет - будет дополнительная отмазка. Гарантии корректной работы системы это все равно не дает, а вот возможность успокоится и сказать "я все отестировал, мне об этом code coverage сказал" - довольно опасна.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
krundetz
Дата 20.5.2013, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 20
Всего: 69



Цитата(ksnk @  20.5.2013,  10:06 Найти цитируемый пост)
Гарантии корректной работы системы это все равно не дает, а вот возможность успокоится и сказать "я все отестировал, мне об этом code coverage сказал" - довольно опасна. 

без страховки от этого сертификацию не пройти

Мне нравиться фраза одного ответственного лица которую он сказал во время прохождения сертификации. Его спросили какие меры безопасности существуют на случай протечки бочек с агрессивным продуктом. Он сказал что бочки двойные и с датчиком на протечку. В случае протечки внутренней емкости и срабатывание датчика бочка подлежит немедленной замене. Его спросили а что будет если протечка будет сквозная на обе емкости и датчик откажет. Он сказал что на этот случай у них существует:
1. план эвакуации персонала, 
2. обученная бригада быстрого реагирования,
3. у бригады имеется специальное оборудование для быстрого устранения проблемы,
4. регулярно проводятся учения этой бригады,
5. регулярно проводиться проверка рабочего состояния спецооборудование,
6. нештатные ситуации тщательно анализируются и на основе этого меняется организация рабочего процесса.

Смысл всего этого в том что должна быть предусмотрена мера реагирования на нештатную ситуацию. Если она есть в большинстве мы получим надежную систему.


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0544 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.