Skip to content
Related Articles

Related Articles

PHPUnit | assertClassHasAttribute() function
  • Last Updated : 19 Jul, 2019

The assertClassHasAttribute() function is a builtin function in PHPUnit and is used to assert an class having a particular attribute.This assertion will return true in the case if the class contains the provided attribute else return false and in case of true the asserted test case got passed else test case got failed.

Syntax:

assertClassHasAttribute(string $attributeName, string $className[, string $message = ''])

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

  1. $attributeName: This parameter represents name of the attribute to be contained by class.
  2. $className: This parameter is a string as class name for whom the attribute is to be searched.
  3. $message: This parameter takes string value. When the testcase got failed this string message got displayed as error message.

Below programs illustrate the assertClassHasAttribute() function:

Program 1:






<?php
use PHPUnit\Framework\TestCase;
  
// test class
Class testClass{
    public $attribute = "test attribute";
}
  
class GeeksPhpunitTestCase extends TestCase
{
    public function testNegativeTestcaseForClassHasAttribute()
    {
        // assert function to test whether 'geeks' is a attribute of testclass
        $this->assertClassHasAttribute('geeks', "testClass", "testClass doesn't has geeks as attribute") ;
    }
}
  
?>

Output:

PHPUnit 6.5.5 by Sebastian Bergmann and contributors.

F                                                                   1 / 1 (100%)

Time: 21 ms, Memory: 4.00MB

There was 1 failure:

1) GeeksPhpunitTestCase::testNegativeTestcaseForClassHasAttribute
testClass doesn't has geeks as attribute
Failed asserting that class "testClass" has attribute "geeks".

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

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

Program 2:




<?php
use PHPUnit\Framework\TestCase;
  
// test class
Class testClass{
    public $geeks = "test attribute";
}
  
class GeeksPhpunitTestCase extends TestCase
{
    public function testPositiveTestcaseForClassHasAttribute()
    {
        // assert function to test whether 'geeks' is a attribute of testclass
        $this->assertClassHasAttribute('geeks', "testClass", "testClass doesn't has geeks as attribute") ;
    }
}
  
?>
?>

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.

My Personal Notes arrow_drop_up
Recommended Articles
Page :