Skip to content

Latest commit

 

History

History
80 lines (60 loc) · 1.95 KB

php_unit_strict.rst

File metadata and controls

80 lines (60 loc) · 1.95 KB

Rule php_unit_strict

PHPUnit methods like assertSame should be used instead of assertEquals.

Warning

Using this rule is risky.

Risky when any of the functions are overridden or when testing object equality.

Configuration

assertions

List of assertion methods to fix.

Allowed values: a subset of ['assertAttributeEquals', 'assertAttributeNotEquals', 'assertEquals', 'assertNotEquals']

Default value: ['assertAttributeEquals', 'assertAttributeNotEquals', 'assertEquals', 'assertNotEquals']

Examples

Example #1

Default configuration.

--- Original
+++ New
 <?php
 final class MyTest extends \PHPUnit_Framework_TestCase
 {
     public function testSomeTest()
     {
-        $this->assertAttributeEquals(a(), b());
-        $this->assertAttributeNotEquals(a(), b());
-        $this->assertEquals(a(), b());
-        $this->assertNotEquals(a(), b());
+        $this->assertAttributeSame(a(), b());
+        $this->assertAttributeNotSame(a(), b());
+        $this->assertSame(a(), b());
+        $this->assertNotSame(a(), b());
     }
 }

Example #2

With configuration: ['assertions' => ['assertEquals']].

--- Original
+++ New
 <?php
 final class MyTest extends \PHPUnit_Framework_TestCase
 {
     public function testSomeTest()
     {
         $this->assertAttributeEquals(a(), b());
         $this->assertAttributeNotEquals(a(), b());
-        $this->assertEquals(a(), b());
+        $this->assertSame(a(), b());
         $this->assertNotEquals(a(), b());
     }
 }

Rule sets

The rule is part of the following rule set:

@PhpCsFixer:risky

Using the @PhpCsFixer:risky rule set will enable the php_unit_strict rule with the default config.