stolt/composer-multitest

Composer 脚本,用于对由 PHPBrew 或 phpenv 管理的所有版本运行 Composer 测试或规范脚本。

v1.1.0 2016-11-03 19:12 UTC

This package is auto-updated.

Last update: 2024-09-18 17:27:36 UTC


README

Build Status Version PHP Version composer.lock available

composer-multitest 是一个 Composer 脚本,可以对由 PHPBrewphpenv 管理的多个 PHP 版本运行 testspec Composer 脚本。有点像本地的 Travis CI

假设

由于 composer-multitest 使用 phpenv 和 PHPBrew,因此假定至少安装了其中一个,并管理了多个 PHP 版本。它首先会查找 phpenv 管理的版本,如果失败,则会随后查找 PHPBrew 管理的版本。

要测试的版本将从本地的 Travis CI 配置文件中读取,因此假定配置文件存在。如果 Travis CI 配置文件中存在没有 phpenv 或 PHPBrew 管理版本的版本,则脚本将失败(除非通过 --skip-missing-versions 选项禁用)。

必须将 Composer 脚本 composer-multitest 命名为 MUST testspec,并且它可以定义在 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