2017 © Pedro Peláez
 

library phpunit-overassertive

Find over assertive tests in your PHPUnit test suite

image

ozh/phpunit-overassertive

Find over assertive tests in your PHPUnit test suite

  • Wednesday, June 3, 2015
  • by ozh
  • Repository
  • 2 Watchers
  • 9 Stars
  • 4,289 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 1 Versions
  • 2 % Grown

The README.md

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., (*1)

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

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., (*3)

overassertive, (*4)

Usage

Enable it with all defaults by adding the following to your test suite's phpunit.xml file:, (*5)

<phpunit bootstrap="vendor/autoload.php">
...
    <listeners>
        <listener class="Ozh\PHPUnit\Listener\OverAssertiveTestsListener" />
    </listeners>
</phpunit>

If you're not using an autoloader you can also specify the library location:, (*6)

<phpunit bootstrap="boostrap.php">
...
    <listeners>
        <listener class="Ozh\PHPUnit\Listener\OverAssertiveTestsListener" file="/path/to/OverAssertiveTestsListener.php" />
    </listeners>
</phpunit>

Now run your test suite as normal. OverAssertive will report over assertive tests in the console after the suite completes., (*7)

Configuration

OverAssertive has two configurable parameters:, (*8)

  • 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:, (*9)

<phpunit ...>
    <!-- ... other suite configuration here ... -->

    <listeners>
        <listener class="Ozh\PHPUnit\Listener\OverAssertiveTestsListener">
            <arguments>
                <array>
                    <element key="alertThreshold">
                        <integer>10</integer>
                    </element>
                    <element key="reportLength">
                        <integer>10</integer>
                    </element>
                </array>
            </arguments>
        </listener>
    </listeners>
</phpunit>

Inspiration

Much thanks to phpunit-speedtrap, (*10)

License

Do whatever the hell you want to., (*11)

The Versions

03/06 2015

dev-master

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

Find over assertive tests in your PHPUnit test suite

  Sources   Download

WTFPL

The Requires

  • php >=5.3.0

 

The Development Requires

phpunit listener assertion