Syntax:assertContainsOnly (string $dataType, array $array, boolean $isNativeType = null, string $message = ’’)
Parameters: This function takes four parameters as shown in the above syntax. The parameters are described below:
- $dataType: this parameter is a string consisting of the name of the data type.
- $array: This parameter is an array for which the assert function will check if it contains only values of the given type or not.
- $isNativeType: these parameters indicate whether the datatype is a native PHP datatype or not.
- $message: this parameter accepts a string value. When the test case failed, this string message was displayed as an error message.
The following programs illustrate the assertContainsOnly() function in PHPUnit: Program 1: use
PHPUnitFrameworkTestCase;
class
GeeksPhpunitTestCase
extends
TestCase
{
public
function
testNegativeTestcaseForAssertContainsOnly()
{
$testArray
=
array
(
" engineerforgeek "
, 2);
$dataType
=
"string"
;
// assert function to check for testArray
// string values only
$this
-> assertContainsOnly (
$dataType
,
$testArray
, null,
" testArray doesn’t contains only string "
);
}
}
?>
Output: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 doen’t contains only string Failed asserting that Array & amp; 0 (0 = > ’engineerforgeek’ 1 = > 2) contains only values of type "string". /home/shivam/Documents/engineer/phpunit/abc.php:11 FAILURES! Tests: 1, Assertions: 1, Failures: 1.
Program 2: use
PHPUnitFrameworkTestCase;
class
GeeksPhpunitTestCase
extends
TestCase
{
public
function
testPositiveTestcaseForAssertContainsOnly()
{
$testArray
=
array
(
" engineerforgeek "
,
"learn"
);
$dataType
=
"string"
;
// assert function to check for testArray
// string values only
$this
-> assertContainsOnly (
$dataType
,
$testArray
, null,
" testArray doesn’t contains only string "
);
}
}
?>
Output:PHPUnit 8.2.5 by Sebastian Bergmann and contributors. ... 1/1 (100%) Time: 67 ms, Memory: 10.00 MB OK (1 test, 1 assertion)
Note: To run testcases with PHPUnit steps follows from here . Also assertContainsOnly() is supported by phpunit 7 and higher.