Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ozh/phpunit-overassertive

Reports tests that contain a high number of assertions
https://github.com/ozh/phpunit-overassertive

assertions extension phpunit

Last synced: 3 months ago
JSON representation

Reports tests that contain a high number of assertions

Awesome Lists containing this project

README

        

# phpunit-overassertive

Having several assertions in the same test is fine, but when an assertion fails,
the whole test aborts and other assertions in the same test are not tested.

Depending on what you test and how you coded it, you may want to split some tests
in several sub tests.

**OverAssertive** is a PHPUnit extension that reports right in the console
which tests have "too many" assertions, where "too many" is what you define, to
help you inspect and maybe refactor some tests.

![overassertive](https://cloud.githubusercontent.com/assets/223647/7969423/0d90aaee-0a37-11e5-9f40-a7d29c613017.png)

## Usage

Enable it with all defaults by adding the following to your test suite's `phpunit.xml` file:

```xml

...


```

If you're not using an autoloader you can also specify the library location:

```xml

...


```

Now run your test suite as normal. OverAssertive will report over assertive tests in the console after the suite completes.

## Configuration

OverAssertive has two configurable parameters:

* **alertThreshold** - Number of assertions that will make a test over assertive (default: 10 assertions)
* **reportLength** - Number of over assertive tests included in the report (default: 10 tests)

These configuration parameters are set in `phpunit.xml` when adding the listener:

```xml






10


10




```

## Inspiration

Much thanks to [phpunit-speedtrap](https://github.com/johnkary/phpunit-speedtrap)

## License

Do whatever the hell you want to.