Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Test::Unit vs Test::More, написание тестов для perl 
:(
    Опции темы
sir_nuf_nuf
Дата 13.5.2008, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 14
Всего: 31



Привет!

Кто какой системой тестирования пользуется ?

Начал было использовать Test::Unit - но тут же обнаружил фатальные недостатки:
все работает в одном процессе, как следствие:

- не всегда тест отлавливает отсутсвие use: 
Так например если мы не пользуемся возможностью Import, а использует модуль в OO - стиле, то мы можем пропустить отсуствие use. Просто нужный модуль мог быть загружен кем-то и тест проходит

- несовместимость с Test::MockObject:
Если мы однажда подменяем некий модуль мок - объектом, то далее этот объект проходит через все тесты. Как следствие сам этот модуль мы протестить не можем.

Вообщем пожелания к системе тестирования такие:
1) Хорошая и удобная поддержка Mock
2) Хорошая изоляция тест-кейсов друг от друга, минимум аффектов
3) Возможность строить иерархические тесты: т.е. объединять их в группы, более крупные группы и т.п.



--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
sir_nuf_nuf
Дата 22.5.2008, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 14
Всего: 31



К чему мы пришли:

Универсального решения нет, но очень спасаетм модуль Test::MockModule
он умеет делать unmock, т.е. восстанавливать предыдущее состояние пакета.

Остановились на использовании Test::Unit, т.к. большинство тестов на нем, да и стараемся писать в ООП..

Вообще решение такое:

Наследовались от Test::Unit::TestCase, создали свой тест-кейс
в set_up разместили создание наиболее частых моков
в tear_down - unmock


теперь использование моков почти прозрачно.
кроме того в наш класс ТестКейса можно добавлять нужные методы проверки типа assert_arrays


--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

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


 




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


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

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