Phpunit 如果测试失败,PHP将非常慢
运行PHPUnit时,如果没有错误,它将在aprox中运行。6秒,但如果出现错误,则可能需要3或4分钟…仅报告错误信息 我在Windows中运行PHP版本5.5.3和PHPUnit版本3.7.28 测试非常简单,即使是最简单的断言失败也会让测试报告花费很长时间Phpunit 如果测试失败,PHP将非常慢,phpunit,Phpunit,运行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,
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分钟,然后完成文本输出。我也有同样的问题。我找到了一个解决办法:
.phar
副本并将其放入文档根目录中。()php phpunit.phar
,而不是从php“bin文件夹”(或$PATH
中的任何位置)运行phpunit
命令。Ej:
php phpunit.phar--bootstrap=./tests/bootstrap.php./tests/
3.7.21
,而我下载的.phar
版本是4.8.36
)
我还没有对此进行测试,但它也应该可以工作:
$PATH
中的任何位置)中的phpunit版本phpunit
时,您都将使用最新版本,而无需将.phar
复制到每个新项目中你有什么样的日志记录?生成报告文件?代码覆盖率?我使用的xampp几乎都是默认配置和xdebug,如何检查日志记录?为什么像上面这样的简单测试成功需要
6
秒?太过分了。我想你没有告诉我们上面的测试就是一个例子,我的真实测试生成了一些文件IO,然而,我发现6秒和3分钟之间的差异hugeI猜测这是因为测试达到了一些IO超时。(失败时)。。对于失败或成功的测试,PHPUnit的报告工作是相同的