定制 ozh/phpunit-overassertive 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ozh/phpunit-overassertive

Composer 安装命令:

composer require ozh/phpunit-overassertive

包简介

Find over assertive tests in your PHPUnit test suite

README 文档

README

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

Usage

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

<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:

<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.

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:

<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

License

Do whatever the hell you want to.

统计信息

  • 总下载量: 4.61k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 11
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 11
  • Watchers: 2
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: WTFPL
  • 更新时间: 2015-06-03