lloople / phpunit-extensions
📦 一些为PHPUnit提供的酷炫扩展
v2.1.0
2023-09-12 20:19 UTC
Requires
- php: ^7.1|^8
Requires (Dev)
- phpunit/phpunit: ^7.1|^8.0|^9.0
This package is auto-updated.
Last update: 2024-09-12 23:36:31 UTC
README
此包为您测试套件提供了一些有用的扩展,旨在提高您的代码质量。
安装
您可以通过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