gpt4 book ai didi

php - 有没有办法为 PHPUnit 中的特定测试关闭 'Stop On Failure/Error'?

转载 作者:可可西里 更新时间:2023-11-01 00:26:05 29 4
gpt4 key购买 nike

我正在开发 API 文档系统,并希望动态检查每个命令是否都附有文档。最简单的方法是动态循环遍历每个命令并检查现有文档以匹配它。

我的代码是这样的:

public function testMissingDocs()
{
foreach ($aCommands as $sKey => $aOptions)
{
$this->assertNotNull($oDocs->get($sKey));
}
}

问题在于 PHPUnit 的 StopOnFailure/Error 特性,它会在第一个断言失败后停止测试。我了解此功能的原因,并且我希望在我的大多数测试用例中都启用它,但对于动态断言/测试来说,这让事情变得有点困难。

有没有办法在每次测试的基础上禁用它,以便我可以检查此测试中的每个命令?

最佳答案

您可以使用 data provider将单个测试拆分为与您有命令一样多的测试。

/**
* @dataProvider getDocsForAllCommands
*/
public function testEveryCommandHasDocs($sKey)
{
$this->assertNotNull($oDocs->get($sKey));
}

public function getKeysForAllCommands()
{
return array_keys($aCommands);
}

关于php - 有没有办法为 PHPUnit 中的特定测试关闭 'Stop On Failure/Error'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6515168/

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