Skip to content

Latest commit

 

History

History
133 lines (91 loc) · 3.99 KB

php_unit_namespaced.rst

File metadata and controls

133 lines (91 loc) · 3.99 KB

Rule php_unit_namespaced

PHPUnit classes MUST be used in namespaced version, e.g. \PHPUnit\Framework\TestCase instead of \PHPUnit_Framework_TestCase.

Description

PHPUnit v6 has finally fully switched to namespaces. You could start preparing the upgrade by switching from non-namespaced TestCase to namespaced one. Forward compatibility layer (\PHPUnit\Framework\TestCase class) was backported to PHPUnit v4.8.35 and PHPUnit v5.4.0. Extended forward compatibility layer (PHPUnit\Framework\Assert, PHPUnit\Framework\BaseTestListener, PHPUnit\Framework\TestListener classes) was introduced in v5.7.0.

Warning

Using this rule is risky.

Risky when PHPUnit classes are overridden or not accessible, or when project has PHPUnit incompatibilities.

Configuration

target

Target version of PHPUnit.

Allowed values: '4.8', '5.7', '6.0', 'newest'

Default value: 'newest'

Examples

Example #1

Default configuration.

--- Original
+++ New
 <?php
-final class MyTest extends \PHPUnit_Framework_TestCase
+final class MyTest extends \PHPUnit\Framework\TestCase
 {
     public function testSomething()
     {
-        PHPUnit_Framework_Assert::assertTrue(true);
+        PHPUnit\Framework\Assert::assertTrue(true);
     }
 }

Example #2

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

--- Original
+++ New
 <?php
-final class MyTest extends \PHPUnit_Framework_TestCase
+final class MyTest extends \PHPUnit\Framework\TestCase
 {
     public function testSomething()
     {
         PHPUnit_Framework_Assert::assertTrue(true);
     }
 }

Rule sets

The rule is part of the following rule sets:

@PHPUnit48Migration:risky

Using the @PHPUnit48Migration:risky rule set will enable the php_unit_namespaced rule with the config below:

['target' => '4.8']

@PHPUnit50Migration:risky

Using the @PHPUnit50Migration:risky rule set will enable the php_unit_namespaced rule with the config below:

['target' => '4.8']

@PHPUnit52Migration:risky

Using the @PHPUnit52Migration:risky rule set will enable the php_unit_namespaced rule with the config below:

['target' => '4.8']

@PHPUnit54Migration:risky

Using the @PHPUnit54Migration:risky rule set will enable the php_unit_namespaced rule with the config below:

['target' => '4.8']

@PHPUnit55Migration:risky

Using the @PHPUnit55Migration:risky rule set will enable the php_unit_namespaced rule with the config below:

['target' => '4.8']

@PHPUnit56Migration:risky

Using the @PHPUnit56Migration:risky rule set will enable the php_unit_namespaced rule with the config below:

['target' => '4.8']

@PHPUnit57Migration:risky

Using the @PHPUnit57Migration:risky rule set will enable the php_unit_namespaced rule with the config below:

['target' => '5.7']

@PHPUnit60Migration:risky

Using the @PHPUnit60Migration:risky rule set will enable the php_unit_namespaced rule with the config below:

['target' => '6.0']

@PHPUnit75Migration:risky

Using the @PHPUnit75Migration:risky rule set will enable the php_unit_namespaced rule with the config below:

['target' => '6.0']

@PHPUnit84Migration:risky

Using the @PHPUnit84Migration:risky rule set will enable the php_unit_namespaced rule with the config below:

['target' => '6.0']