解释PHP单元输出

时间:2013-08-09 08:21:15

标签: phpunit

我的PHP单元在控制台上输出。 63/129 ( 48%)究竟是什么意思?它是否运行所有测试?

PHPUnit 3.7.22 by Sebastian Bergmann.

Configuration read from phpunit.xml

...............................................................  63 / 129 ( 48%)
............................................................... 126 / 129 ( 97%)
...

Time: 0 seconds, Memory: 6.75Mb

OK (129 tests, 245 assertions)

phpunit.xml看起来像:

<?xml version="1.0" encoding="utf-8" ?>
<phpunit bootstrap="vendor/autoload.php">

    <testsuites>
        <testsuite name="SDK Testsuite">
            <directory suffix="Test.php">src/MyNamespace/Test/Unit</directory>
        </testsuite>
    </testsuites>

</phpunit>

2 个答案:

答案 0 :(得分:8)

每个点代表一个单元测试。它在运行每个测试后打印一个点。第一行有63个点,这意味着已经运行了129个测试中的63个(大约48%)。第二行有另外63个点,总共有126个测试。最后三项测试在第三行。

该功能适用​​于测试需要很长时间的时间,您可以按照屏幕上的进度进行操作。如果其中一个测试使系统陷入死锁,它也很有用。进度表让您可以看到哪个是有问题的测试。

答案 1 :(得分:5)

每个点代表一次成功完成的测试。其他输出符号包括“I”,“S”,“R”,“F”和“E”。

当测试包含行

时,会产生'I'
$this->markTestIncomplete('Your reason for being incomplete string');

当测试包含行

时,会产生'S'
$this->markTestSkipped('Your reason for skipping string');

当测试以某种方式存在风险时产生'R',即不执行任何断言。

当phpunit在测试执行期间遇到错误时会产生'E',并且当正在执行的测试中的断言失败时会产生'F'。