PHPUnit | assertContainsOnly()函数
assertContainsOnly()函数是 PHPUnit 中的内置函数,用于断言数组以包含其所有值作为给定数据类型。如果数组仅包含给定数据类型的值,则此断言将返回 true,否则返回 false,如果为 true,则断言的测试用例通过,否则测试用例失败。
句法:
assertContainsOnly(string $dataType, array $array,
boolean $isNativeType = null, string $message = '')
参数:此函数接受四个参数,如上述语法所示。参数说明如下:
- $dataType:此参数是一个字符串,由数据类型的名称组成。
- $array:这个参数是一个数组,断言函数将检查它是否只包含给定类型的值。
- $isNativeType:这个参数告诉数据类型是否是PHP原生数据类型。
- $message:此参数采用字符串值。当测试用例失败时,此字符串消息显示为错误消息。
下面的程序说明了 PHPUnit 中的 assertContainsOnly()函数:
方案一:
php
assertContainsOnly($dataType, $testArray, null,
"testArray doesn't contains only string") ;
}
}
?>
php
assertContainsOnly($dataType, $testArray, null,
"testArray doesn't contains only string") ;
}
}
?>
输出:
PHPUnit 8.2.5 by Sebastian Bergmann and contributors.
F 1 / 1 (100%)
Time: 236 ms, Memory: 10.00 MB
There was 1 failure:
1) GeeksPhpunitTestCase::testNegativeTestcaseForAssertContainsOnly
testArray doesn't contains only string
Failed asserting that Array &0 (
0 => 'geeksforgeek'
1 => 2
) contains only values of type "string".
/home/shivam/Documents/geeks/phpunit/abc.php:11
FAILURES!
Tests: 1, Assertions: 1, Failures: 1.
方案二:
PHP
assertContainsOnly($dataType, $testArray, null,
"testArray doesn't contains only string") ;
}
}
?>
输出:
PHPUnit 8.2.5 by Sebastian Bergmann and contributors.
. 1 / 1 (100%)
Time: 67 ms, Memory: 10.00 MB
OK (1 test, 1 assertion)
注意:要使用 phpunit 运行测试用例,请按照此处的步骤操作。此外,phpunit 7 及更高版本支持 assertContainsOnly()。