Open In App

PHPUnit | assertClassNotHasStaticAttribute() function

Last Updated : 19 Jul, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

The assertClassNotHasStaticAttribute() function is a builtin function in PHPUnit and is used to assert a class not having a static attribute. This assertion will return true in the case if the class doesn’t contains the provided attribute as static element else return false and in case of true the asserted test case got passed else test case got failed.

Syntax:

assertClassNotHasStaticAttribute(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 the attributeName not to be attribute of class in array.
  2. $className: This parameter is a class name for which the assert function will check whether it contains attribute or not.
  3. $message: This parameter takes string value. When the testcase got failed this string message got displayed as error message.

Below programs illustrate the assertClassNotHasStaticAttribute() function:

Program 1:




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


Output:

PHPUnit 6.5.5 by Sebastian Bergmann and contributors.

F                                                                   1 / 1 (100%)

Time: 46 ms, Memory: 4.00MB

There was 1 failure:

1) GeeksPhpunitTestCase::testNegativeTestcaseForClassNotHasStaticAttribute
testClass  has geeks as static attribute
Failed asserting that class "testClass" does not have static 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 static $attribute = "test attribute";
}
  
class GeeksPhpunitTestCase extends TestCase
{
    public function testPositiveTestcaseForClassNotHasStaticAttribute()
    {
        // assert function to test whether 'geeks' is a attribute of testclass
        $this->assertClassNotHasStaticAttribute('geeks', "testClass", "testClass  has geeks as static 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.



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads