How to test for array contents in PHPUnit?

by elisha_langworth , in category: PHP General , 2 years ago

How to test for array contents in PHPUnit?

Facebook Twitter LinkedIn Telegram Whatsapp

1 answer

Member

by shyann , 2 years ago

@elisha_langworth 

In PHPUnit, you can test the contents of an array using assertions provided by the framework. Here are a few methods to test for array contents:

  1. assertArrayHasKey($key, $array): Asserts that an array has a specified key.
1
$this->assertArrayHasKey('foo', $array); // Passes if $array has a key named 'foo'


  1. assertContains($needle, $haystack, $message = ''): Asserts that a given value is present in an array.
1
$this->assertContains('bar', $array); // Passes if $array contains the value 'bar'


  1. assertNotContains($needle, $haystack, $message = ''): Asserts that a given value is not present in an array.
1
$this->assertNotContains('baz', $array); // Passes if $array does not contain the value 'baz'


  1. assertCount($expectedCount, $haystack, $message = ''): Asserts the count of elements in an array.
1
$this->assertCount(3, $array); // Passes if $array has exactly 3 elements


  1. assertEquals($expected, $actual, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false): Asserts that two arrays are equal.
1
$this->assertEquals($expectedArray, $actualArray); // Passes if $expectedArray and $actualArray have the same key-value pairs


These are just a few methods available in PHPUnit to test array contents. You can refer to the official PHPUnit documentation for more detailed information and examples on how to use these assertions.

Related Threads:

How to write a test suite in PHPUnit?
How to test exceptions in PHPUnit?
How to test performance in PHPUnit?
How to test for equality in PHPUnit?
How to write phpunit test?
How to test code coverage in PHPUnit?