123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 |
- =============================
- Rule ``php_unit_expectation``
- =============================
- Usages of ``->setExpectedException*`` methods MUST be replaced by
- ``->expectException*`` methods.
- 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: ``'5.2'``, ``'5.6'``, ``'8.4'`` and ``'newest'``
- Default value: ``'newest'``
- Examples
- --------
- Example #1
- ~~~~~~~~~~
- *Default* configuration.
- .. code-block:: diff
- --- Original
- +++ New
- <?php
- final class MyTest extends \PHPUnit_Framework_TestCase
- {
- public function testFoo()
- {
- - $this->setExpectedException("RuntimeException", "Msg", 123);
- + $this->expectException("RuntimeException");
- + $this->expectExceptionMessage("Msg");
- + $this->expectExceptionCode(123);
- foo();
- }
- public function testBar()
- {
- - $this->setExpectedExceptionRegExp("RuntimeException", "/Msg.*/", 123);
- + $this->expectException("RuntimeException");
- + $this->expectExceptionMessageMatches("/Msg.*/");
- + $this->expectExceptionCode(123);
- bar();
- }
- }
- Example #2
- ~~~~~~~~~~
- With configuration: ``['target' => '8.4']``.
- .. code-block:: diff
- --- Original
- +++ New
- <?php
- final class MyTest extends \PHPUnit_Framework_TestCase
- {
- public function testFoo()
- {
- - $this->setExpectedException("RuntimeException", null, 123);
- + $this->expectException("RuntimeException");
- + $this->expectExceptionCode(123);
- foo();
- }
- public function testBar()
- {
- - $this->setExpectedExceptionRegExp("RuntimeException", "/Msg.*/", 123);
- + $this->expectException("RuntimeException");
- + $this->expectExceptionMessageMatches("/Msg.*/");
- + $this->expectExceptionCode(123);
- bar();
- }
- }
- Example #3
- ~~~~~~~~~~
- With configuration: ``['target' => '5.6']``.
- .. code-block:: diff
- --- Original
- +++ New
- <?php
- final class MyTest extends \PHPUnit_Framework_TestCase
- {
- public function testFoo()
- {
- - $this->setExpectedException("RuntimeException", null, 123);
- + $this->expectException("RuntimeException");
- + $this->expectExceptionCode(123);
- foo();
- }
- public function testBar()
- {
- - $this->setExpectedExceptionRegExp("RuntimeException", "/Msg.*/", 123);
- + $this->expectException("RuntimeException");
- + $this->expectExceptionMessageRegExp("/Msg.*/");
- + $this->expectExceptionCode(123);
- bar();
- }
- }
- Example #4
- ~~~~~~~~~~
- With configuration: ``['target' => '5.2']``.
- .. code-block:: diff
- --- Original
- +++ New
- <?php
- final class MyTest extends \PHPUnit_Framework_TestCase
- {
- public function testFoo()
- {
- - $this->setExpectedException("RuntimeException", "Msg", 123);
- + $this->expectException("RuntimeException");
- + $this->expectExceptionMessage("Msg");
- + $this->expectExceptionCode(123);
- foo();
- }
- public function testBar()
- {
- $this->setExpectedExceptionRegExp("RuntimeException", "/Msg.*/", 123);
- bar();
- }
- }
- Rule sets
- ---------
- The rule is part of the following rule sets:
- - `@PHPUnit52Migration:risky <./../../ruleSets/PHPUnit52MigrationRisky.rst>`_ with config:
- ``['target' => '5.2']``
- - `@PHPUnit54Migration:risky <./../../ruleSets/PHPUnit54MigrationRisky.rst>`_ with config:
- ``['target' => '5.2']``
- - `@PHPUnit55Migration:risky <./../../ruleSets/PHPUnit55MigrationRisky.rst>`_ with config:
- ``['target' => '5.2']``
- - `@PHPUnit56Migration:risky <./../../ruleSets/PHPUnit56MigrationRisky.rst>`_ with config:
- ``['target' => '5.6']``
- - `@PHPUnit57Migration:risky <./../../ruleSets/PHPUnit57MigrationRisky.rst>`_ with config:
- ``['target' => '5.6']``
- - `@PHPUnit60Migration:risky <./../../ruleSets/PHPUnit60MigrationRisky.rst>`_ with config:
- ``['target' => '5.6']``
- - `@PHPUnit75Migration:risky <./../../ruleSets/PHPUnit75MigrationRisky.rst>`_ with config:
- ``['target' => '5.6']``
- - `@PHPUnit84Migration:risky <./../../ruleSets/PHPUnit84MigrationRisky.rst>`_ with config:
- ``['target' => '8.4']``
- - `@PHPUnit91Migration:risky <./../../ruleSets/PHPUnit91MigrationRisky.rst>`_ with config:
- ``['target' => '8.4']``
- - `@PHPUnit100Migration:risky <./../../ruleSets/PHPUnit100MigrationRisky.rst>`_ with config:
- ``['target' => '8.4']``
- References
- ----------
- - Fixer class: `PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitExpectationFixer <./../../../src/Fixer/PhpUnit/PhpUnitExpectationFixer.php>`_
- - Test class: `PhpCsFixer\\Tests\\Fixer\\PhpUnit\\PhpUnitExpectationFixerTest <./../../../tests/Fixer/PhpUnit/PhpUnitExpectationFixerTest.php>`_
- The test class defines officially supported behaviour. Each test case is a part of our backward compatibility promise.
|