Scrutinizer - 跳过一些 phpunits

Scrutinizer - skip some phpunits

我想跳过 scrutinizer 中的一些 phpunit 测试。

我怎样才能达到同样的效果?

我需要在哪里进行配置更改?

许多 CI 系统,包括。 Scrutinizer CI 在他们的构建环境中设置环境变量。

例如环境变量SCRUTINIZER设置为TRUE。这只是其中之一,了解更多关于 Pre-defined Environment Variables on Scrutinizer CI.

在测试方法内(或在整个 class 的 setUp() 方法内)您可以检查环境变量(例如通过 $_ENV)并将测试标记为已跳过。

if (isset($_ENV['SCRUTINIZER'])) {
    $this->markTestSkipped(
        'Scrutinizer CI build'
    );
}

另请参阅更笼统的问题 How to skip tests in PHPunit? and the Phpunit documentation Incomplete and Skipped Tests

就我而言,我添加了 ./vendor/bin/phpunit --exclude-group Group1, Group2 在应用程序级别的 .scrutinizer.yml 文件中执行如下命令,以跳过代表这些组的 phpunits,如下所示:

build:
    nodes:
        acsi:
            tests:
                override:
                    - './vendor/bin/phpunit --exclude-group Group1, Group2'
                    - phpcs-run --standard=phpcs.xml
                    - php-scrutinizer-run