stolt / composer-multitest
Composer 脚本,用于对由 PHPBrew 或 phpenv 管理的所有版本运行 Composer 测试或规范脚本。
Requires
- php: >=5.6
- symfony/process: ^3.1
- symfony/yaml: ^3.1
Requires (Dev)
- composer/composer: ^1.0
- friendsofphp/php-cs-fixer: 2.0.0-alpha
- mockery/mockery: ^0.9.5
- phpunit/phpunit: ^4.8 || ^5.0
This package is auto-updated.
Last update: 2024-09-18 17:27:36 UTC
README
composer-multitest
是一个 Composer 脚本,可以对由 PHPBrew 或 phpenv 管理的多个 PHP 版本运行 test
或 spec
Composer 脚本。有点像本地的 Travis CI。
假设
由于 composer-multitest
使用 phpenv 和 PHPBrew,因此假定至少安装了其中一个,并管理了多个 PHP 版本。它首先会查找 phpenv 管理的版本,如果失败,则会随后查找 PHPBrew 管理的版本。
要测试的版本将从本地的 Travis CI 配置文件中读取,因此假定配置文件存在。如果 Travis CI 配置文件中存在没有 phpenv 或 PHPBrew 管理版本的版本,则脚本将失败(除非通过 --skip-missing-versions
选项禁用)。
必须将 Composer 脚本 composer-multitest
命名为 MUST test
或 spec
,并且它可以定义在 Composer 脚本命名空间中,如 library:test|spec
。
安装
应通过 Composer 将 Composer 脚本安装为开发依赖项。
composer require --dev stolt/composer-multitest
使用
安装后,将 Composer 脚本添加到现有的 composer.json
中,然后通过 composer multitest
使用它。
{ "scripts": { "multitest": "Stolt\\Composer\\Multitest::run" }, }
如果您想禁用必须对所有在 Travis CI 配置文件中定义的 PHP 版本运行测试或规范的要求,请使用类似下面的 --skip-missing-versions
选项。
{ "scripts": { "multitest-run": "Stolt\\Composer\\Multitest::run", "multitest": "composer run-script multitest-run -- --skip-missing-versions" },
示例输出
以下控制台输出显示了针对两个 PHP 版本的多测试运行示例。
❯ composer multitest > Stolt\Composer\Multitest::run >> Switching to 'php-7.0.4'. >> Running 'composer lpv:test'. PHPUnit 5.6.1 by Sebastian Bergmann and contributors. ................................................................. 65 / 96 ( 67%) ............................... 96 / 96 (100%) Time: 591 ms, Memory: 12.25MB OK (96 tests, 150 assertions) >> Switching to 'php-5.6.19'. >> Running 'composer lpv:test'. PHPUnit 5.6.1 by Sebastian Bergmann and contributors. ................................................................. 65 / 96 ( 67%) ............................... 96 / 96 (100%) Time: 591 ms, Memory: 12.25MB OK (96 tests, 150 assertions) ❯ echo $? 0 ❯
运行测试
composer cm:test
许可证
此 Composer 脚本受 MIT 许可证许可。有关详细信息,请参阅 LICENSE。
变更日志
有关详细信息,请参阅 CHANGELOG。
贡献
有关详细信息,请参阅 CONTRIBUTING。