|
| 1 | +# Contributte Phpunit |
| 2 | + |
| 3 | +## Installation |
| 4 | + |
| 5 | +```bash |
| 6 | +composer require --dev contributte/phpunit |
| 7 | +``` |
| 8 | + |
| 9 | +## Usage |
| 10 | + |
| 11 | +## Extensions |
| 12 | + |
| 13 | +### CleanerExtension |
| 14 | + |
| 15 | +This extesions clean your defined folders. |
| 16 | + |
| 17 | +```xml |
| 18 | +<?xml version="1.0" encoding="UTF-8"?> |
| 19 | +<phpunit> |
| 20 | + <!-- your configuration --> |
| 21 | + <extensions> |
| 22 | + <bootstrap class="Contributte\Phpunit\Extension\CleanerExtension"> |
| 23 | + <parameter name="dirs" value="tests/tmp"/> |
| 24 | + </bootstrap> |
| 25 | + </extensions> |
| 26 | +</phpunit> |
| 27 | +``` |
| 28 | + |
| 29 | +### BypassFinalExtension |
| 30 | + |
| 31 | +This extension uses `nette/tester` and its `Environment::bypassFinals()`. It allows you mock final classes and methods. [Read more in docs.](https://tester.nette.org/en/helpers#toc-environment-bypassfinals) |
| 32 | + |
| 33 | +```xml |
| 34 | +<?xml version="1.0" encoding="UTF-8"?> |
| 35 | +<phpunit> |
| 36 | + <!-- your configuration --> |
| 37 | + <extensions> |
| 38 | + <bootstrap class="Contributte\Phpunit\Extension\BypassFinalExtension"/> |
| 39 | + </extensions> |
| 40 | +</phpunit> |
| 41 | +``` |
| 42 | + |
| 43 | +## Example |
| 44 | + |
| 45 | +Full example of `phpunit.xml`. |
| 46 | + |
| 47 | +```xml |
| 48 | +<?xml version="1.0" encoding="UTF-8"?> |
| 49 | +<phpunit |
| 50 | + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| 51 | + xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd" |
| 52 | + backupGlobals="false" |
| 53 | + beStrictAboutTestsThatDoNotTestAnything="true" |
| 54 | + beStrictAboutOutputDuringTests="true" |
| 55 | + colors="true" |
| 56 | + failOnRisky="true" |
| 57 | + failOnWarning="true" |
| 58 | + processIsolation="false" |
| 59 | + stopOnError="false" |
| 60 | + stopOnFailure="false" |
| 61 | + cacheResult="true" |
| 62 | + cacheResultFile="var/tmp/.phpunit.result.cache" |
| 63 | + bootstrap="tests/bootstrap.php" |
| 64 | +> |
| 65 | + <php> |
| 66 | + <ini name="memory_limit" value="1048M"/> |
| 67 | + <ini name="date.timezone" value="Europe/Prague"/> |
| 68 | + </php> |
| 69 | + <testsuites> |
| 70 | + <testsuite name="App.Build"> |
| 71 | + <directory>./tests/Cases/Build</directory> |
| 72 | + </testsuite> |
| 73 | + <testsuite name="App.E2E"> |
| 74 | + <directory>./tests/Cases/E2E</directory> |
| 75 | + </testsuite> |
| 76 | + <testsuite name="App.Unit"> |
| 77 | + <directory>./tests/Cases/Unit</directory> |
| 78 | + </testsuite> |
| 79 | + </testsuites> |
| 80 | + <extensions> |
| 81 | + <bootstrap class="Contributte\Phpunit\Extension\CleanerExtension"> |
| 82 | + <parameter name="dirs" value=""/> |
| 83 | + </bootstrap> |
| 84 | + <bootstrap class="Contributte\Phpunit\Extension\BypassFinalExtension"/> |
| 85 | + </extensions> |
| 86 | +</phpunit> |
| 87 | +``` |
| 88 | +--------------- |
| 89 | + |
| 90 | +Thanks for testing, reporting and contributing. |
0 commit comments