运行PHPUnit时,如果没有错误,它会在aprox中运行。 6秒,但如果有错误,最多可能需要3或4分钟....只报告错误信息。
我在Windows中运行PHP版本5.5.3和PHPUnit版本3.7.28。
测试非常简单,即使最简单的断言失败也会使测试报告永远存在。
class MyTest extends PHPUnit_Framework_TestCase
{
public function someTest() {
$this->assertEquals(true, false); // takes forever to report
}
}
使用--debug运行数据库测试我得到以下输出
D:\xampp\htdocs\blueberry-cms
λ phpunit --debug tests\unit\DatabaseTest.php
PHPUnit 3.7.28 by Sebastian Bergmann.
Starting test 'DatabaseTest::testCRUD'.
F
Starting test 'DatabaseTest::testRetrieval'.
.
Time: 8.91 seconds, Memory: 2.25Mb
There was 1 failure:
1) DatabaseTest::testCRUD
Failed asserting that 19 matches expected 18.
D:\xampp\htdocs\blueberry-cms\tests\unit\DatabaseTest.php:37
FAILURES!
Tests: 2, Assertions: 22, Failures: 1.
测试运行正常,直到“有1次失败:”然后它停止输出文本...停止等2或3分钟,然后完成输出文本。
答案 0 :(得分:0)
我遇到了同样的问题。我发现了一种解决方法:
.phar
的PHPunit副本并将其放在文档根目录中。 (link to phpunit downloads page)phpunit
中的任意位置)运行$PATH
命令,而是从我的存储库的根目录运行php phpunit.phar
。 />
Ej:php phpunit.phar --bootstrap=./tests/bootstrap.php ./tests/
可能此问题可以通过更新phpunit 来解决。
(对于我来说(PHP 5.6),我的PHP“ bin文件夹”中的phpunit版本是3.7.21
,而我下载的.phar
是版本4.8.36
)
我还没有测试过,但是它应该也可以工作:
$PATH
中的任何位置)中的phpunit版本phpunit
时,您将使用最新版本,而不必将.phar
复制到每个新项目中。