![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
Привет!
Кто какой системой тестирования пользуется ? Начал было использовать Test::Unit - но тут же обнаружил фатальные недостатки: все работает в одном процессе, как следствие: - не всегда тест отлавливает отсутсвие use: Так например если мы не пользуемся возможностью Import, а использует модуль в OO - стиле, то мы можем пропустить отсуствие use. Просто нужный модуль мог быть загружен кем-то и тест проходит - несовместимость с Test::MockObject: Если мы однажда подменяем некий модуль мок - объектом, то далее этот объект проходит через все тесты. Как следствие сам этот модуль мы протестить не можем. Вообщем пожелания к системе тестирования такие: 1) Хорошая и удобная поддержка Mock 2) Хорошая изоляция тест-кейсов друг от друга, минимум аффектов 3) Возможность строить иерархические тесты: т.е. объединять их в группы, более крупные группы и т.п. |
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
К чему мы пришли:
Универсального решения нет, но очень спасаетм модуль Test::MockModule он умеет делать unmock, т.е. восстанавливать предыдущее состояние пакета. Остановились на использовании Test::Unit, т.к. большинство тестов на нем, да и стараемся писать в ООП.. Вообще решение такое: Наследовались от Test::Unit::TestCase, создали свой тест-кейс в set_up разместили создание наиболее частых моков в tear_down - unmock теперь использование моков почти прозрачно. кроме того в наш класс ТестКейса можно добавлять нужные методы проверки типа assert_arrays |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |