Какой тестовый модуль Perl я должен использовать? - PullRequest
9 голосов
/ 11 сентября 2010

Есть Test :: Simple , Test :: More , Test :: Builder (все части Test :: Simple распределение), Test :: Class , Test :: Unit , Test :: Moose ...

Я начинаюновый проект с использованием Moose - какой модуль мне следует использовать для написания моих тестов?

Ответы [ 5 ]

20 голосов
/ 11 сентября 2010

Вы можете исключить Test :: Builder из списка на некоторое время.Test :: Builder - это базовый модуль, на котором построены другие Test :: модули.Поэтому, пока вы не захотите начать писать свои собственные тестовые модули, вам это не понадобится.

Я бы также проигнорировал Test :: Simple.Test :: More делает все то, что делает Test :: Simple - и многое другое.

Test :: Class - хороший способ написать модульные тесты действительно объектно-ориентированным способом.Я бы порекомендовал его для сложных систем на основе OO.

Test :: Moose предназначен для тестирования различных функций Moose в вашем коде.Вы говорите, что используете Moose, так что это может быть полезно для вас.Его можно использовать вместе с Test :: More.

Поэтому я рекомендую начать с Test :: More и Test :: Moose.Но также взгляните на Test :: Class, чтобы убедиться, что он соответствует тому, как вы хотите писать тесты.

Тестирование Perl: Блокнот для разработчиков - отличное введение в эту тему.

6 голосов
/ 11 сентября 2010

В дополнение к отличному ответу Даворга, я хотел бы отметить, что я все еще в основном использую Test :: More (с некоторой помощью Test-Differences , Test-WWW-Mechanize -LibXML и другие модули). Я могу рекомендовать не использовать Test.pm, который является старым и глупым, и Test :: Simple, который является небольшим подмножеством функциональности Test :: More.

Есть также Test :: Most (расширение Test :: More), Test :: Class и Test :: Class :: Most, которые предпочитают некоторые люди, но я еще не удосужился изучить их .

Продолжаются споры о том, является ли план (= количество тестов) хорошей вещью или нет . Лично я уже заметил случай в чужом модуле CPAN, где количество тестов в моей системе отличалось от количества в них (и варьировалось в зависимости от разных версий DBI (IIRC)) и которое убедило меня в том, что план хороший вещь. В результате я создал Test-Count , который позволяет подсчитывать и обновлять счет утверждений на основе аннотаций внутри правильно сформированных комментариев (и который поддерживает исходный код на других языках, кроме Perl 5). Я все еще поддерживаю это, поэтому, если вам что-нибудь понадобится, дайте мне крик.

1 голос
/ 14 сентября 2010

Другие предложили Test :: Class; Я обнаружил, что следующий обзор PDF от $ foo Magazin (я его не написал, просто нашел) был весьма полезен для некоторых примеров, помимо того, что предоставляет документация POD.

1 голос
/ 12 сентября 2010

Я бы порекомендовал Test :: Class в качестве основы для вашей тестовой среды. Это делает для более структурированного, более модульного кода. И вы все еще можете использовать Test :: More и другие тестовые модули с ним. Также проверьте Test :: Exception.

0 голосов
/ 01 октября 2010

Это не очень важно для развития лосей. Однако, если вы занимаетесь веб-разработкой, я думаю, что Test :: WWW :: Selenium становится незаменимым для тестирования веб-страниц с большим количеством javascript и их поведения в наиболее распространенных веб-браузерах (firefox, iexplorer, googlechrome и т. Д.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...