The assertArrayHasKey() function is a builtin function in PHPUnit and is used to assert an array having a particular key or not.This assertion will return true in the case if the array has the provided key else return false and in case of true the asserted test case got passed else test case got failed.
Syntax:
assertArrayHasKey(mixed $key, array $array[, string $message = ''])
Parameters: This function accepts three parameters as shown in the above syntax. The parameters are described below:
- $key: This parameter represents name of the key to be contained by array..
- $array: This parameter is an array for whom the key is to be searched.
- $message: This parameter takes string value. When the testcase got failed this string message got displayed as error message.
Below programs illustrate the assertArrayHasKey() function:
Program 1:
<?php use PHPUnit\Framework\TestCase; class GeeksPhpunitTestCase extends TestCase { public function testNegativeTestcaseForArrayHasKey() { // array to be tested $array = array ( 'geek' => 'neveropenForneveropen' , ); // assert function to test whether 'geek' is a key of array $this ->assertArrayHasKey( 'neveropen' , $array , "Array doesn't contains 'neveropen' as key" ); } } ?> |
Output:
PHPUnit 6.5.5 by Sebastian Bergmann and contributors. F 1 / 1 (100%) Time: 108 ms, Memory: 4.00MB There was 1 failure: 1) GeeksPhpunitTestCase::testNegativeTestcaseForArrayHasKey Array doesn't contains 'neveropen' as key Failed asserting that an array has the key 'neveropen'. /home/shivam/Documents/neveropen/phpunit/abc.php:9 FAILURES! Tests: 1, Assertions: 1, Failures: 1.
Program 2:
<?php use PHPUnit\Framework\TestCase; class GeeksPhpunitTestCase extends TestCase { public function testPositiveTestcaseForArrayHasKey() { // array to be tested $array = array ( 'neveropen' => 'neveropenForneveropen' , ); // assert function to test whether 'neveropen' is a key of array $this ->assertArrayHasKey( 'neveropen' , $array , "Array doesn't contains 'neveropen' as key" ); } } ?> |
Output:
PHPUnit 6.5.5 by Sebastian Bergmann and contributors. . 1 / 1 (100%) Time: 21 ms, Memory: 4.00MB OK (1 test, 1 assertion)
Note : To run testcases with phpunit follow steps from here.