PHPUnit:assertThat()是否增加断言计数?

时间:2018-01-02 15:13:30

标签: unit-testing phpunit

我有一个自定义断言,它不会递增断言计数器。我在这段代码上运行了> 1900个断言,最终的断言计数为零。我知道它正在运行断言,因为我可以让它失败。但无论它是否失败,它声称零断言都在运行。

以下是我的自定义断言的定义:

assertThat()

TypeError: environment can only contain strings 的{​​{3}}并不表示它是否会增加断言次数,并且搜索进一步的文档没有任何结果。

我需要做些什么才能将此自定义断言计为一个断言并正确递增断言计数?

1 个答案:

答案 0 :(得分:1)

Constraint类实现Countable。所需的count方法将返回在评估约束时将添加到计数器的断言数:

https://github.com/sebastianbergmann/phpunit/blob/5.7.26/src/Framework/Assert.php#L2056

您的约束count方法应至少返回1,以便对断言进行计数。检查它是否正在返回0