Fork me on GitHub
a Sensio Labs Product

Persian Successor (v3.65.0) edition

Rule php_unit_dedicate_assert

PHPUnit assertions like assertInternalType, assertFileExists, should be used over assertTrue.

Warning

Using this rule is risky

Fixer could be risky if one is overriding PHPUnit’s native methods.

Configuration

target

Target version of PHPUnit.

Allowed values: '3.0', '3.5', '5.0', '5.6' and 'newest'

Default value: 'newest'

Examples

Example #1

Default configuration.

--- Original
+++ New
 <?php
 final class MyTest extends \PHPUnit_Framework_TestCase
 {
     public function testSomeTest()
     {
-        $this->assertTrue(is_float( $a), "my message");
-        $this->assertTrue(is_nan($a));
+        $this->assertInternalType('float', $a, "my message");
+        $this->assertNan($a);
     }
 }

Example #2

With configuration: ['target' => '5.6'].

--- Original
+++ New
 <?php
 final class MyTest extends \PHPUnit_Framework_TestCase
 {
     public function testSomeTest()
     {
-        $this->assertTrue(is_dir($a));
-        $this->assertTrue(is_writable($a));
-        $this->assertTrue(is_readable($a));
+        $this->assertDirectoryExists($a);
+        $this->assertIsWritable($a);
+        $this->assertIsReadable($a);
     }
 }

Rule sets

The rule is part of the following rule sets:

References

The test class defines officially supported behaviour. Each test case is a part of our backward compatibility promise.