phpunit在目录中找不到测试

时间:2010-07-17 13:15:52

标签: php 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以递归方式扫描tests目录,甚至可以统计deserializerTest.php文件。但它没有打开

“phpunit tests”在我的本地计算机上运行正常。两台计算机都运行Ubuntu Lucid 10.04和phpunit 3.4.5。服务器在chroot中运行。

我尝试使用

phpunit `find tests -name \*.php`

但是phpunit只关注第一个参数。

我知道可以编写套件类,但这似乎是一个维护噩梦。感觉我错过了一些明显的东西。

2 个答案:

答案 0 :(得分:1)

我遇到了与hudson / phpunit相同的问题,你应该设置“HUDSON_HOME”环境变量,并给出一个没有任何“。”的新主目录。在路上。 (所以肯定会从〜/ .hudson移动它!)

请参阅:http://wiki.hudson-ci.org/display/HUDSON/Administering+Hudson

答案 1 :(得分:0)

我已尝试使用PHPUnit 3.4.5和Ubunutu 10.04上的当前版本3.4.15重现这一点,并且它在两者中均可用,因此升级可能无济于事。

就像你说的那样“应该”按你描述的方式工作。我最好的猜测是,可能会有一个“phpunit.xml”,其中包含一些自动包含的忽略标志,并且只存在于服务器上,即使这样也是如此。

您也可以在#phpunit频道找到有关freenode irc的其他帮助。

相关问题