HomeLanguagesPHPunit | assertCount() Function

PHPunit | assertCount() Function

The assertCount() function is a builtin function in PHPUnit and is used to assert an array to contain same number of elements as the given count value. This assertion will return true in the case if the array contains only an exact number of elements as given count else return false. In case of true the asserted test case got passed else test case got failed.

Syntax:

assertCount( integer $expectedCount, array $array, string $message = '' )

Parameters: This function accepts three parameters as shown in the above syntax. The parameters are described below:

  • $expectedCount: This parameter is an integer which is expected number of elements for array.
  • $array: This parameter is array for which the assert function will check whether it contains same number of elements as the given count value or not.
  • $message: This parameter takes string value. When the testcase got failed this string message got displayed as error message.

Below programs illustrate the assertCount() function in PHPUnit:

Program 1:




<?php
use PHPUnit\Framework\TestCase;
  
class GeeksPhpunitTestCase extends TestCase
{
    public function testNegativeTestcaseForAssertCount()
    {
        $testArray = array(1, 2, 3, 4);
  
        // Assert function to test whether testArray contains
        // same number of elements as expectedCount
        $expectedCount = 3;
  
        $this->assertCount(
            $expectedCount,
            $testArray, "testArray doesn't contains 3 elements"
        );
    }
}
  
?>


Output:

PHPUnit 8.2.5 by Sebastian Bergmann and contributors.

F                                                                   1 / 1 (100%)

Time: 66 ms, Memory: 10.00 MB

There was 1 failure:

1) GeeksPhpunitTestCase::testNegativeTestcaseForAssertCount
testArray doesn't contains 3 elements
Failed asserting that actual size 4 matches expected size 3.

/home/shivam/Documents/neveropen/phpunit/abc.php:14

FAILURES!
Tests: 1, Assertions: 1, Failures: 1.

Program 2:




<?php
use PHPUnit\Framework\TestCase;
  
class GeeksPhpunitTestCase extends TestCase
{
    public function testPositiveTestcaseForAssertCount()
    {
        $testArray = array(1, 2, 3, 4);
  
        // Assert function to test whether testArray contains
        // same number of elements as expectedCount
        $expectedCount = 4;
  
        $this->assertCount(
            $expectedCount,
            $testArray, "testArray contains 3 elements"
        );
    }
}
  
?>


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 follow steps from here. Also, assertCount() is supported by phpunit 7 and above.

RELATED ARTICLES

4 COMMENTS

Most Popular

Dominic
32548 POSTS0 COMMENTS
Milvus
131 POSTS0 COMMENTS
Nango Kala
6924 POSTS0 COMMENTS
Nicole Veronica
12039 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12150 POSTS0 COMMENTS
Shaida Kate Naidoo
7060 POSTS0 COMMENTS
Ted Musemwa
7302 POSTS0 COMMENTS
Thapelo Manthata
7018 POSTS0 COMMENTS
Umr Jansen
7006 POSTS0 COMMENTS