assertNotContainsOnly()函数是PHPUnit中的内置函数,用于断言一个不包含其所有值作为给定数据类型的数组。如果数组包含除给定数据类型之外的值,则此断言将返回true,否则返回false。如果为真,则通过断言的测试用例,否则测试用例失败。
用法:
assertNotContainsOnly( string $dataType, array $array,
boolean $isNativeType = null, string $message = '' )
参数:此函数接受上面语法中所示的四个参数。参数说明如下:
$dataType:此参数是一个字符串,由数据类型的名称组成。
$array:此参数是一个数组,断言函数将为其检查是否仅包含给定类型的值。
$isNativeType:此参数表明数据类型是否为PHP本机数据类型。
$message:此参数采用字符串值。当测试用例失败时,此字符串消息将显示为错误消息。
以下程序说明了PHPUnit中的assertNotContainsOnly()函数:
程序1:
use PHPUnit\Framework\TestCase;
class GeeksPhpunitTestCase extends TestCase
{
public function testNegativeTestcaseForAssertNotContainsOnly()
{
$testArray = array("geeksforgeek", "true");
$dataType = "string";
// Assert function to test whether testArray contains
// only string values or not
$this->assertNotContainsOnly($dataType, $testArray, null,
"testArray contains only string") ;
}
}
?>
输出:
PHPUnit 8.2.5 by Sebastian Bergmann and contributors.
F 1 / 1 (100%)
Time:265 ms, Memory:10.00 MB
There was 1 failure:
1) GeeksPhpunitTestCase::testNegativeTestcaseForAssertNotContainsOnly
testArray contains only string
Failed asserting that Array &0 (
0 => 'geeksforgeek'
1 => 'true'
) does not contain only values of type "string".
/home/shivam/Documents/geeks/phpunit/abc.php:13
FAILURES!
Tests:1, Assertions:1, Failures:1.
程序2:
use PHPUnit\Framework\TestCase;
class GeeksPhpunitTestCase extends TestCase
{
public function testPositiveTestcaseForAssertNotContainsOnly()
{
$testArray = array("geeksforgeek", 4);
$dataType = "string";
// Assert function to test whether testArray contains
// only string values
$this->assertNotContainsOnly($dataType, $testArray, null,
"testArray 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及更高版本支持assertNotContainsOnly()。