命令行中的PHPUnit - 显示的依赖项文件列表。如何才能使其仅显示测试脚本?

时间:2011-12-20 13:50:18

标签: php phpunit

我在Windows 7上安装了PHPUnit,使用PHP和Pear。

我有一个基本的测试脚本,首先是:

<?php

class StackTest extends PHPUnit_Framework_TestCase
{
    public function testTest()
    {
        $this->assertTrue(false);
    }
}

我在命令提示符下运行它:

phpunit unittest testTest.php

获得以下回报:

PHPUnit 3.6.5 by Sebastian Bergmann.

F

Time: 0 seconds, Memory: 2.75Mb

There was 1 failure:

1) StackTest::testTest
Failed asserting that false is true.

C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\Framework\Constraint.php:145
C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\Framework\Constraint.php:92
C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\Framework\Assert.php:2100
C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\Framework\Assert.php:854
C:\Users\lbassett\Dropbox\Projects\Test\testTest.php:10
C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\Framework\TestCase.php:939
C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\Framework\TestCase.php:801
C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\Framework\TestResult.php:649
C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\Framework\TestCase.php:748
C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\Framework\TestSuite.php:772
C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\Framework\TestSuite.php:745
C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\TextUI\TestRunner.php:325
C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\TextUI\Command.php:187
C:\Program Files (x86)\PHP\PEAR\pear\PHPUnit\TextUI\Command.php:125
C:\Program Files (x86)\PHP\PEAR\phpunit:44

FAILURES!
Tests: 1, Assertions: 1, Failures: 1.

我的问题是列出的不同文件的长列表。

我只想在那里看到我的测试脚本。我错过了什么吗?

1 个答案:

答案 0 :(得分:3)

简短版本:

这是PHPUnit中的一个错误。 I've fixed it.下一个次要版本可以使用。


长版本:

您已经注意到您的文件包含在回溯中

 C:\Users\lbassett\Dropbox\Projects\Test\testTest.php:10

所以问题是为什么你的课程周围还有其他东西。

PHPUnit 过滤该回溯并删除所有PHPUnit类,但由于某些原因似乎不起作用。

linux上的输出:

PHPUnit 3.6.5 by Sebastian Bergmann.

F

Time: 0 seconds, Memory: 3.00Mb

There was 1 failure:

1) failingTest::testFail
Failed asserting that false is true.

/home/edo/phpunit-dev/oneFailingTest/failingTest.php:6

我起初期待Program Files中的空格出现问题,但我已将其安装在没有空格的文件夹中,并且它也会“中断”。

对我来说,这是PHPUnit中的一个错误。

我建议you file an issue at the github issue tracker回溯过滤似乎在Windows上被破坏了,我会看看我是否可以处理它。 编辑:I've pushed a fix。它应该在PHPUnit 3.6.6(当它被释放时)解决。请参阅修改。


编辑:是的。问题似乎来自PHPUnit_Util_Filter :: phpunitFiles();使用\而不是/返回路径。

修复

如果您将以下代码放在:PHPUnit/Util/GlobalState.php的第412行。(在返回语句之前)

foreach(self::$phpunitFiles as $key => $value) {
    unset(self::$phpunitFiles[$key]);
    self::$phpunitFiles[str_replace("/", "\\", $key)] = $value;
}
然后你会得到漂亮的回溯。我会看到它在3.6.6中修复了一个更好的补丁。