PHPunit:测试断言语句中的内存使用情况或运行时间

Eme*_*ngo 5 phpunit

我知道 phpunit 在测试期间提供内存使用情况和执行时间,但是有没有办法在断言语句中使用这些数据?

例如,假设我想断言消耗的使用量是否大于或等于指定的内存或运行时间。我搜索网络以及 phpunit 手册,无法获得准确的信息。

感谢您的任何提示。

Bjo*_*ern 4

也许我的想法是错误的,但为什么不尝试这样的事情呢?

class memTest extends PHPUnit_Framework_TestCase {
    public function testMemory() {
        $this->assertGreaterThanOrEqual(4194304, memory_get_usage());
    }
}
Run Code Online (Sandbox Code Playgroud)

只需使用您想要的假设说明符(此处:)assertGreaterThanOrEqual并根据 来检查您想要的值memory_get_usage()

就我而言,输出如下所示:

>phpunit unittests\memtest.php
PHPUnit 3.7.15 
F

Time: 0 seconds, Memory: 1.75Mb

There was 1 failure:

1) memTest::testMemory
Failed asserting that 1503768 is equal to 4194304 or is greater than 4194304.

mypath\memtest.php:5

FAILURES!
Tests: 1, Assertions: 2, Failures: 1.
Run Code Online (Sandbox Code Playgroud)