gpt4 book ai didi

PHPUnit Assert 两种可能结果之一

转载 作者:可可西里 更新时间:2023-10-31 22:40:37 27 4
gpt4 key购买 nike

我正在编写单元测试来验证两个库的功能是否相同。本质上,测试接口(interface)。

但是,在一些与错误处理相关的测试中。错误级别不同,必须不同,因为例如一个生成 E_WARNING,另一个只能生成 E_USER_WARNING。

那么问题来了。 PHP 单元中是否有一个断言可以说错误必须是两个可能结果之一?像这样的东西:

assertIsIn(array(E_WARNING, E_USER_WARNING), $generatedError);

我知道我可以通过在 assertContains() 中交换预期答案和实际答案或者可能对结果进行一些预断言操作来解决这个问题。然而,有更清洁的方法吗?

最佳答案

也许你可以用 assertContains 来实现方法(断言干草堆中包含一根针)。例如:

public function testAssertIsIn()
{
$errorLevel = array(E_WARNING, E_USER_WARNING);

$generatedError = E_WARNING;
$this->assertContains($generatedError, $errorLevel);

$generatedError = E_USER_WARNING;
$this->assertContains($generatedError, $errorLevel);
}

希望对你有帮助

关于PHPUnit Assert 两种可能结果之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40538902/

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