Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 845d094

Browse filesBrowse files
[PhpUnitBridge] Doc for @expectedDeprecation & new configuration env vars
1 parent b2d38b2 commit 845d094
Copy full SHA for 845d094

File tree

Expand file treeCollapse file tree

1 file changed

+36
-3
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+36
-3
lines changed

‎components/phpunit_bridge.rst

Copy file name to clipboardExpand all lines: components/phpunit_bridge.rst
+36-3Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ It comes with the following features:
1818

1919
* Displays the stack trace of a deprecation on-demand;
2020

21-
* Provides a ``ClockMock`` helper class for time-sensitive tests.
21+
* Provides a ``ClockMock`` and ``DnsMock`` helper classes for time or network-sensitive tests.
2222

23-
* Provides a modified version of phpunit that does not embed ``symfony/yaml`` nor
23+
* Provides a modified version of PHPUnit that does not embed ``symfony/yaml`` nor
2424
``prophecy`` to prevent any conflicts with these dependencies.
2525

2626
Installation
@@ -133,6 +133,28 @@ completely disable the deprecation helper. This is useful to make use of the
133133
rest of features provided by this component without getting errors or messages
134134
related to deprecations.
135135

136+
Write Assertions about Deprecations
137+
-----------------------------------
138+
139+
When adding deprecations to your code, you might like writting tests that verify
140+
that they are triggered as required. To do so, the bridge provides the
141+
``@expectedDeprecation`` annotation that you can use on your test methods,
142+
alongside with the expected message, given in the same format than for the
143+
`PHPUnit assertStringMatchesFormat()`_ method. If you expect more than one
144+
deprecation messages for a given test method, you can use the annotation several
145+
times (order matters)::
146+
147+
/**
148+
* @group legacy
149+
* @expectedDeprecation This "%s" method is deprecated.
150+
* @expectedDeprecation The second argument of the "%s" method is deprecated.
151+
*/
152+
public function testDeprecatedCode()
153+
{
154+
@trigger_error('This "Foo" method is deprecated.', E_USER_DEPRECATED);
155+
@trigger_error('The second argument of the "Bar" method is deprecated.', E_USER_DEPRECATED);
156+
}
157+
136158
Time-sensitive Tests
137159
--------------------
138160

@@ -340,7 +362,7 @@ its ``bin/simple-phpunit`` command. It has the following features:
340362

341363
* Does not embed ``symfony/yaml`` nor ``prophecy`` to prevent any conflicts with
342364
these dependencies;
343-
* Uses PHPUnit 4.8 when run with PHP <=5.5 and PHPUnit 5.1 when run with PHP >=5.6;
365+
* Uses PHPUnit 4.8 when run with PHP <=5.5 and PHPUnit 5.3 when run with PHP >=5.6;
344366
* Collects and replays skipped tests when the ``SYMFONY_PHPUNIT_SKIPPED_TESTS``
345367
env var is defined: the env var should specify a file name that will be used for
346368
storing skipped tests on a first run, and replay them on the second run;
@@ -358,8 +380,19 @@ If you have installed the bridge through Composer, you can run it by calling e.g
358380
359381
$ vendor/bin/simple-phpunit
360382
383+
.. tip::
384+
385+
Set the ``SYMFONY_PHPUNIT_VERSION`` env var to e.g. ``5.5`` to change the
386+
base version of PHPUnit to ``5.5`` instead of the default ``5.3``.
387+
388+
.. tip::
389+
390+
Set the ``SYMFONY_PHPUNIT_REMOVE`` env var to ``symfony/yaml`` if you need
391+
``prophecy`` but not ``symfony/yaml``.
392+
361393
.. _PHPUnit: https://phpunit.de
362394
.. _`PHPUnit event listener`: https://phpunit.de/manual/current/en/extending-phpunit.html#extending-phpunit.PHPUnit_Framework_TestListener
395+
.. _`PHPUnit assertStringMatchesFormat()`: https://phpunit.de/manual/current/en/appendixes.assertions.html#appendixes.assertions.assertStringMatchesFormat
363396
.. _`PHP error handler`: http://php.net/manual/en/book.errorfunc.php
364397
.. _`environment variable`: https://phpunit.de/manual/current/en/appendixes.configuration.html#appendixes.configuration.php-ini-constants-variables
365398
.. _Packagist: https://packagist.org/packages/symfony/phpunit-bridge

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.