phpunit не находит тесты в каталоге

я пытаюсь выполнить все тесты в подпапках моего тестового каталога. Это работает локально на моем компьютере, но не на сервере интеграции.

phpunit не находит тестовые файлы

hudson@slipstream:~/.hudson/jobs/stendhal_website/workspace$ phpunit tests
PHPUnit 3.4.5 by Sebastian Bergmann.
Time: 0 seconds, Memory: 4.50Mb
OK (0 tests, 0 assertions)

Однако тестовый файл существует и доступен для чтения:

hudson@slipstream:~/.hudson/jobs/stendhal_website/workspace$ find tests -name \*Test.php
tests/scripts/pharauroa/common/net/deserializerTest.php
hudson@slipstream:~/.hudson/jobs/stendhal_website/workspace$ ls -l tests/scripts/pharauroa/common/net/deserializerTest.php
-rw-r--r-- 1 hudson hudson 6957 Jul 17 12:54 tests/scripts/pharauroa/common/net/deserializerTest.php

Я могу запустить его, явно указав его в командной строке phpunit:

hudson@slipstream:~/.hudson/jobs/stendhal_website/workspace$ phpunit tests/scripts/pharauroa/common/net/deserializerTest.php
PHPUnit 3.4.5 by Sebastian Bergmann.
.....
Time: 0 seconds, Memory: 5.00Mb
OK (5 tests, 32 assertions)

Что я уже пробовал:

Используя strace, я вижу, что phpunit рекурсивно сканирует каталог с тестами и даже регистрирует файл deserializerTest.php. Но он не открывается

«Тесты phpunit» отлично работают на моем локальном компьютере. На обоих компьютерах установлены Ubuntu Lucid 10.04 и phpunit 3.4.5. Сервер работает внутри chroot.

я пытался использовать

phpunit `find tests -name \*.php`

но phpunit обращает внимание только на первый параметр.

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


person Hendrik Brummermann    schedule 17.07.2010    source источник


Ответы (2)


У меня была такая же проблема с hudson/phpunit, вы должны установить переменную среды «HUDSON_HOME» и указать новый домашний каталог без каких-либо «.». в пути. (Так что обязательно переместите его из ~/.hudson!)

См.: http://wiki.hudson-ci.org/display/HUDSON/Administering+Hudson

person spap    schedule 17.08.2010

Я пытался воспроизвести это с помощью PHPUnit 3.4.5 и текущей версии 3.4.15 на Ubunutu 10.04, и это работает в обоих случаях, поэтому обновление может не помочь.

Как вы сказали, это «должно» работать так, как вы это описали. Мое лучшее предположение заключается в том, что, возможно, существует файл «phpunit.xml» с некоторыми флагами игнорирования, который автоматически включается и присутствует только на сервере, даже если это далеко не так.

Вы также можете найти дополнительную помощь по freenode irc на канале #phpunit.

person edorian    schedule 19.07.2010