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:
References¶
Fixer class: PhpCsFixer\Fixer\PhpUnit\PhpUnitStrictFixer
Test class: PhpCsFixer\Tests\Fixer\PhpUnit\PhpUnitStrictFixerTest
The test class defines officially supported behaviour. Each test case is a part of our backward compatibility promise.