Running tests in parallel

Running parallel tests on Scrutinizer is very easy.

Add parallelism to your test suite

When you have already set-up your test commands, you can simply add the on_node modifier to your test commands:

# .scrutinizer.yml
build:
    dependencies:
        before:
            - pecl install ssh-beta

    tests:
        override:
            -
                command: vendor/bin/phpunit tests/FolderA
                on_node: 1

            -
                command: vendor/bin/phpunit tests/FolderB
                on_node: 2

            -
                command: vendor/bin/phpunit tests/FolderC
                on_node: 3

This configuration will execute your tests with 3-way parallelism, each of the test commands will be run in a separate container. The commands of other sections will be executed in all containers.

Code coverage

Processing code coverage will work just as before when you were running just a single command. Scrutinizer automatically handles merging your data and does not require you to make any additional configuration.