Генерация тестов для всех классов из каталога - PullRequest
2 голосов
/ 19 марта 2010

У меня есть структура directoy, и все классы бизнес-логики находятся в каталоге app_dir / lib /. Я хотел бы создать модульные тесты для всех классов из этой папки lib /.

Проблема в том, что я не нашел никакой возможности указать исходный каталог, только исходный файл:

из app_dir:

$ phpunit --skeleton-class lib/
Error: "lib/.php" could not be opened.

Это единственное решение, чтобы написать свой собственный скрипт php, который перебирает папку / lib и вызывает генератор скелета для каждого найденного файла? И как мне указать выходную папку, в которую помещены все сгенерированные тестовые файлы?

Ответы [ 2 ]

2 голосов
/ 26 сентября 2012

Для генерации скелетных тестов вы хотите --skeleton-test, а не --skeleton-class. Это извлечет имя файла без расширения и передаст его phpunit.

for file in *.php; do phpunit --skeleton-test "${file%.*}"; done;

Я понятия не имею, как изменить выходной каталог, который вам понадобится, если вы хотите выполнить команду несколько раз. Я полагаю, что лучшая однострочная строка будет выбирать только файлы, не заканчивающиеся на «Test.php».

0 голосов
/ 01 июня 2010

Из блога Себастьяна Бергманна:

Начиная с набора изменений 2764, PHPUnit 3.3 тестовый запуск командной строки принимает каталог в качестве аргумента.

Учитывая каталог, тестовый бегун будет рекурсивно сканировать каталог для файлов * Test.php создайте тест набор из * тестовых классов, и запустить его.

С PHPUnit> = 3.3 вы сможете выполнить только:

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