gpt4 book ai didi

PHPUnit - 当 dataProvider 返回一个空数组时不要失败

转载 作者:行者123 更新时间:2023-12-04 23:50:23 27 4
gpt4 key购买 nike

我有一个 PHPUnit 测试,它使用 @dataProvider .数据提供者检查文件系统中的某些文件。

但是,我在不同的环境中使用此测试,这意味着可能会发生文件不存在的情况。这意味着 dataProvider 没有找到任何东西并且没有执行测试。

这会导致测试运行以失败告终。

问题:是否有一种方法可以配置 PHPUnit 以忽略提供程序不产生任何结果的测试?

最佳答案

虽然我不知道任何 phpunit 选项(这并不意味着一个不存在),但您可以使用如下所示的内容:

public function providerNewFileProvider()
{
//get files from the "real" provider
$files = $this->providerOldFileProvider();
//no files? then, make a fake entry to "skip" the test
if (empty($files)) {
$files[] = array(false,false);
}

return $files;
}

/**
* @dataProvider providerNewFileProvider
*/

public function testMyFilesTest($firstArg,$secondArg)
{
if (false === $firstArg) {
//no files existing is okay, so just end immediately
$this->markTestSkipped('No files to test');
}

//...normal operation code goes here
}

当然,这是一种解决方法,但它应该可以阻止错误出现。显然,无论您做什么,都取决于是否允许第一个(或任意)参数为 false ,但您可以进行调整以适应您的测试。

关于PHPUnit - 当 dataProvider 返回一个空数组时不要失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23855492/

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