gpt4 book ai didi

PHPUnit - 断言失败但我想继续测试

转载 作者:IT王子 更新时间:2023-10-29 00:01:37 24 4
gpt4 key购买 nike

->assertTrue(false);
->assertTrue(true);

第一个断言失败并停止执行。但我想继续进一步的代码片段。

PHPUnit有没有可能

最佳答案

其他回答者是正确的 - 如果您希望能够做到这一点,您真的应该将您的断言分成单独的测试。但是,假设您有正当理由想要这样做……有办法。

Phpunit 断言失败实际上是异常,这意味着您可以自己捕获并抛出它们。例如,试试这个测试:

public function testDemo()
{
$failures = [];
try {
$this->assertTrue(false);
} catch(PHPUnit_Framework_ExpectationFailedException $e) {
$failures[] = $e->getMessage();
}
try {
$this->assertTrue(false);
} catch(PHPUnit_Framework_ExpectationFailedException $e) {
$failures[] = $e->getMessage();
}
if(!empty($failures))
{
throw new PHPUnit_Framework_ExpectationFailedException (
count($failures)." assertions failed:\n\t".implode("\n\t", $failures)
);
}
}

如您所见,它尝试了两个断言,都失败了,但它一直等到最后将所有失败输出消息作为一个异常抛出。

关于PHPUnit - 断言失败但我想继续测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6832263/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com