«Веб-интерфейс» для тестов PHPUnit?

Есть ли простой «веб-интерфейс» для запуска наборов тестов PHPUnit? т.е. скрипт PHP, который запускает тест в командной строке и выводит хорошо отформатированный результат HTML.

Я разрабатываю веб-приложения, и повседневный рабочий процесс обычно переключается между IDE и браузером. Я хотел бы иметь модульное тестирование в той же среде.

Я ищу что-то очень простое и основанное на PHP – я планирую попасть в phpUnderControl (у которого есть функциональность, которую я ищу), но еще нет.

Вы можете использовать phing для запуска PHPUnitTask, а затем преобразовать вывод с помощью:

  • PHPUnitReport – эта задача преобразует отчеты PHPUnit xml в HTML с использованием XSLT.

Пример:

<phpunitreport infile="reports/testsuites.xml" format="frames" todir="reports/tests" styledir="/home/phing/etc"/> 

См. phpunit --help для различных форматов вывода.

2.3 версия PHPUnit имела главу об этом, но она ушла в течение некоторого времени. Возможно, вы сможете найти старую копию с Google.

Поскольку вы упоминаете это для phpUnderControl: если вы не исправляете это, подумайте об использовании Jenkins и http://jenkins-php.org .

На стороне примечания: если мы не говорим о серверах CI, большинство людей, которых я знаю, не используют PHPUnit через веб-интерфейс. Они либо просто используют командную строку, либо интегрируют их IDE.

Недавно я открыл Visual PHPUnit который выглядит очень приятным интерфейсом для всех, кто не хочет запускать PHPUnit из командной строки:

Visual PHPUnit

Кажется, это следующая итерация PHPUnit Test Report @ Matt

Я чувствую ваше разочарование – я сам пользовательский интерфейс. Глядя на терминал слишком долго, моя голова вращается. Я написал небольшое небольшое приложение, которое может оказаться полезным.

Приложение для тестирования PHPUnit http://mattmueller.me/blog/wp-content/uploads/2010/06/test.png

Вы можете найти его здесь: http://mattmueller.me/blog/introducing-phpunit-test-report

Ура! Matt

После нескольких часов исследований недавно лучший веб-интерфейс PHPUnit, с которым я столкнулся, был https://github.com/NSinopoli/VisualPHPUnit

Вы можете использовать Jenkins для выполнения любых задач, включая тесты PHPUnit. Он может автоматически проверять ваше приложение, запускать тесты, создавать отчет в формате HTML и даже отправлять вам по электронной почте, если сборка завершится с ошибкой.

Вот шаблоны , необходимые для настройки Jenkins для создания кучи интересных отчетов и статистики из вашего проекта.

Я никогда не видел такого веб-интерфейса … Но, как вы говорите, вы всегда используете свою среду IDE и свой веб-браузер, почему бы не подумать иначе?

т.е. возможным решением было бы запустить unittests из вашей IDE 😉
Это означает, что вы должны иметь возможность щелкнуть по неудачным тестам, чтобы «перейти» к методу тестирования или к причине, которая привела к тому, что тест был неудачным, например.

В мире PHP + PHPUnit я знаю, что Zend Studio делает это – да, это не бесплатно, к сожалению 🙁

Используя Eclipse PDT, решение было бы зарегистрировать PHPUnit в качестве внешнего инструмента (см. Или экземпляр этого блога: Использование PHPUnit с Eclipse PDT ), но это не очень сексуально, и вы не можете нажать на результаты, чтобы перейти к методам / тестам …

Другим решением было бы разработать плагин для интеграции PHPUnit в Eclipse PDT (как это было сделано для Zend Studio, я полагаю) – phpunit4eclipse был создан некоторое время назад, но это просто начало и не получило много успехов, поэтому автор не работал над этим после выпуска этого …

Я нашел это :

Я наткнулся на сообщение от Parth Patil, решение которого состояло в том, чтобы создать xml-отчет из PHPUnit, а затем использовать этот xml для создания собственного отчета.

Я использовал его решение, сделал его совместимым с PHPUnit 3.4, а также добавил Reflection, чтобы увидеть комментарии к документу doc в отчете. (Примечание: для переоценки я использую класс отражения Zend_Framework)

Хорошо, вы сказали, что предпочтете независимое решение IDE, но просто знаете, что есть недавний плагин, который позволяет запускать PHPUnit просто в Eclipse и иметь приятное представление (например, в Zend Studio, но бесплатно).

Вот ссылка, главный разработчик быстро отвечает на электронные письма, если у вас есть проблема:

http://www.phpsrc.org/wiki/

Я лично проверил некоторый веб-интерфейс, но меня всегда обманывали (не совсем практичные и стабильные). Но это ваш выбор.

jframework также имеет приятный интерфейс для PHPUnit. Он разбивает результаты и показывает охват тестирования для всех файлов и каждого файла отдельно. Он работает как в Интернете, так и в cli, причем cli имеет преимущество сбрасывать каждый тест после его завершения (веб-серверу приходится ждать, пока все закончится).

Общий веб-выход с охватом кода на файл

Отчет о покрытии кода для одного файла

Вы всегда можете использовать Maven для PHP, с помощью которого вы можете использовать отчеты surefire (сайт mvn). Подробнее здесь: http://www.php-maven.org

Если вам не нужно переформатировать вывод и просто хотите запустить PHPUnit с веб-страницы, вы можете сделать это с помощью некоторого PHP-кода:

 <pre> <?php $argv[0] = "phpunit.phar"; $argv[1] = '--bootstrap'; $argv[2] = 'src/load.php'; $argv[3] = "tests/MoneyTest"; $_SERVER['argv'] = $argv; include 'phpunit.phar'; ?> </pre> 

Файл src / load.php – это всего лишь куча включений для включения классов. Результат выглядит следующим образом:

 #!/usr/bin/env php PHPUnit 4.1.2 by Sebastian Bergmann. ........................ Time: 122 ms, Memory: 3.25Mb OK (24 tests, 43 assertions) 

Просто проигнорируйте эту первую строку, и вы сможете увидеть результаты.

Я шокирован тем, что PHPUnit не включает в себя базовый способ сделать это. Некоторые классы могут зависеть от веб-сервера. Мы просто не проверяем их? На некоторых сайтах вы загружаете свои файлы и не разрешаете выполнение командной строки.