PHPUnit – 当dataProvider返回一个空数组时,不要失败
发布时间:2020-12-13 17:47:15 所属栏目:PHP教程 来源:网络整理
导读:我有一个使用@dataProvider的 PHPUnit测试.数据提供程序检查文件系统中的某些文件. 但是,我在不同的环境中使用此测试,这意味着文件不存在会发生.这意味着dataProvider没有找到任何内容,并且没有执行测试. 这导致测试运行以失败告终. 问题:是一种配置PHPUnit
我有一个使用@dataProvider的
PHPUnit测试.数据提供程序检查文件系统中的某些文件.
但是,我在不同的环境中使用此测试,这意味着文件不存在会发生.这意味着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 } 当然,这是一种解决方法,但它应该可以阻止错误显示.显然,无论你做什么都将取决于第一个(或任意)参数是否允许为假,但你可以进行调整以适合你的测试. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |