PHPUnit从命令行显示的依赖文件列表.我怎样才能使它只显示测试脚本呢?


PHPUnit from command line - list of dependancy files displayed. How can I make it display only the test script?

我在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.

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

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

简写:

这是PHPUnit的一个bug。我已经修好了。下一个小版本就可以了。


长版:

您已经注意到您的文件包含在backtrace

 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的一个bug。

我建议 you file an issue at the github issue tracker ,反向跟踪过滤似乎在窗口上坏了,我会看看我是否能照顾到这一点。编辑:我已经推送了一个修复。应该在PHPUnit 3.6.6中解决(当它被释放时)。


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

<<h3>修复/h3>

如果您将以下代码放入:PHPUnit/Util/GlobalState.php中的第412行。(return语句前)

foreach(self::$phpunitFiles as $key => $value) {
    unset(self::$phpunitFiles[$key]);
    self::$phpunitFiles[str_replace("/", "''", $key)] = $value;
}

那么你就得到了一个漂亮的回溯。我会确保在3.6.6中用一个更好的补丁修复它。