lloople/phpunit-extensions

📦 一些为PHPUnit提供的酷炫扩展

v2.1.0 2023-09-12 20:19 UTC

This package is auto-updated.

Last update: 2024-09-12 23:36:31 UTC


README

Latest Version on Packagist Build Status Quality Score Total Downloads Buy us a tree

此包为您测试套件提供了一些有用的扩展,旨在提高您的代码质量。

安装

您可以通过composer安装此包

composer require lloople/phpunit-extensions --dev

将扩展添加到您的 phpunit.xml 文件中

<extensions>
    <extension class="Lloople\PHPUnitExtensions\Runners\SlowestTests\Console" />
</extensions>

扩展

控制台

在控制台输出最慢的测试。

<extension class="Lloople\PHPUnitExtensions\Runners\SlowestTests\Console"/>
Showing the top 5 slowest tests:
  543 ms: Tests\Feature\ProfileTest::can_upload_new_profile_image
   26 ms: Tests\Feature\ProfileTest::can_visit_profile_page
   25 ms: Tests\Feature\ProfileTest::throws_validation_error_if_password_not_match

默认选项为

  • rows: 5(最多报告5个测试)
  • min: 200(报告超过200毫秒的测试)

Csv

将测试写入CSV文件以便导入。

<extension class="Lloople\PHPUnitExtensions\Runners\SlowestTests\Csv"/>

默认选项为

  • file: phpunit_results.csv
  • rows: null(所有测试)
  • min: 200

Json

将测试写入JSON文件以便导入。

<extension class="Lloople\PHPUnitExtensions\Runners\SlowestTests\Json"/>

默认选项为

  • file: phpunit_results.json
  • rows: null(所有测试)
  • min: 200

MySQL

将测试名称和时间存储到MySQL数据库中。它将覆盖现有记录

<extension class="Lloople\PHPUnitExtensions\Runners\SlowestTests\MySQL"/>

默认凭据为(数组形式)

  • database: phpunit_results
  • table: default
  • username: root
  • password: ``
  • host: 127.0.0.1
  • rows: null(所有测试)
  • min: 200

SQLite

将测试名称和时间存储到SQLite数据库中。它将覆盖现有记录

<extension class="Lloople\PHPUnitExtensions\Runners\SlowestTests\SQLite"/>

默认凭据为(数组形式)

  • database: phpunit_results.db
  • table: default
  • rows: null(所有测试)
  • min: 200

参数

要覆盖每个扩展的默认配置,您需要在 phpunit.xml 文件中使用 <arguments>

<extension class="Lloople\PHPUnitExtensions\Runners\SlowestTests\Json">
  <arguments>
    <string>phpunit_results_as_json.json</string>
    <integer>10</integer> <!-- Max number of tests to report. -->
    <integer>400</integer> <!-- Min miliseconds to report a test. -->
  </arguments>
</extension>

对于需要数据库连接的MySQL和SQLite,配置为数组形式

<extension class="Lloople\PHPUnitExtensions\Runners\SlowestTests\MySQL">
  <arguments>
    <array>
      <element key="database">
        <string>my_phpunit_results</string>
      </element>
      <element key="table">
        <string>project1_test_results</string>
      </element>
      <element key="username">
        <string>homestead</string>
      </element>
      <element key="password">
        <string>secret</string>
      </element>
      <element key="host">
        <string>192.168.12.14</string>
      </element>
    </array>
  </arguments>
</extension>

如果您已经使用了适合您用例的凭据,则不需要覆盖这些凭据,因为类将合并您的配置与默认配置

更新日志

请参阅 更新日志 了解最近的变化。

贡献

请参阅 贡献指南 了解详情。

安全

如果您发现任何安全相关的问题,请通过电子邮件 d.lloople@icloud.com 而不是使用问题跟踪器。

鸣谢

Treeware

您可以使用此包,但如果它对您非常有用,我将非常感激您 为世界买一棵树

众所周知,解决气候危机并防止气温上升超过1.5C的最好工具之一是植树。如果您为 Treeware 的森林做出贡献,您将为当地家庭创造就业机会并恢复野生动物栖息地。

您可以在这里购买树木 offset.earth/treeware

有关Treeware的更多信息,请参阅 treeware.earth