sergekukharev / phpunit-fasttrap
在您的PHPUnit测试套件中找到慢速测试
1.0.0
2015-10-27 11:02 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: 3.7.*|~4.0
This package is not auto-updated.
Last update: 2024-09-18 10:58:08 UTC
README
FastTrap会在您的控制台直接报告PHPUnit测试套件中运行的快速测试。
它的典型用法 - 您需要将集成测试与混合在一起的单元测试分开。单元测试的主要优点是其速度,因此您可以通过添加此监听器来检测大部分单元测试。
安装
FastTrap可以通过Composer安装,并且应作为require-dev
依赖项添加。
composer require --dev sergekukharev/phpunit-fasttrap
用法
通过将以下内容添加到测试套件的phpunit.xml
文件中启用所有默认设置
<phpunit bootstrap="vendor/autoload.php"> ... <listeners> <listener class="SergeKukharev\PHPUnit\Listener\FastTrapListener" /> </listeners> </phpunit>
现在以正常方式运行测试套件。如果测试运行时间不超过阈值(默认为500ms),FastTrap将在套件完成后在控制台中报告这些测试。
配置
FastTrap有两个可配置参数
- fastThreshold - 测试执行时间达到多少毫秒之前才会被认为是“快速”(默认:500ms)
- reportLength - 报告中包含的快速测试数量(默认:10个测试)
这些配置参数在添加监听器时设置在phpunit.xml
中
<phpunit bootstrap="vendor/autoload.php"> <!-- ... other suite configuration here ... --> <listeners> <listener class="SergeKukharev\PHPUnit\Listener\FastTrapListener"> <arguments> <array> <element key="fastThreshold"> <integer>500</integer> </element> <element key="reportLength"> <integer>100</integer> </element> </array> </arguments> </listener> </listeners> </phpunit>
这允许您为自己设置“快速”测试的标准,以及您关心的数量。
每个测试方法的自定义快速阈值
您可能有一些运行时间稍长的测试,并希望将快速阈值设置得比其他测试套件更高。
您可以使用@fastThreshold
注解为每个测试方法设置自定义快速阈值。此数字可以高于或低于默认阈值,并将用于该特定测试的默认阈值。
class SomeTestCase extends \PHPUnit_Framework_TestCase { /** * @fastThreshold 5000 */ public function testLongRunningProcess() { // Code to exercise your long-running SUT } }
灵感来源
本项目受John Kary的SpeedTrap项目和Fork启发。这两者之间只有一个区别 - Fast trap能够检测快速测试。
SpeedTrap项目本身受Rspec的-p
选项的启发,该选项显示有关快速测试的反馈。
许可证
phpunit-fasttrap可在MIT许可证下使用。