/config-extension

Allows you to configure atoum using a YAML file and/or environnement variables

Primary LanguagePHP

atoum/config-extension Build Status

This extension will allow you to configure atoum using a YAML file and/or environnement variables.

Example

When using this extension, you can put a .atoum.yml on the root of your repository to configure atoum. Here is an exemple on how to tell atoum to look for unit tests in the tests/units/classes folder.

# .atoum.yml

atoum:
    directories:
        - ./tests/units/classes

Install it

Install extension using composer:

composer require --dev atoum/config-extension

Enable the extension using atoum configuration file:

<?php

// .atoum.php

require_once __DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';

use mageekguy\atoum\config;

$runner->addExtension(new config\extension($script));

// Or

new config\extension($script);

Use it

# .atoum.yml

atoum:
    directories:
        - ./tests/units/classes

    fields:
        report.default:
            - field.logo
            - field.logo.result
            - field.coverage

    reports:
        - report.default
        - report.coverage.clover

Configuration reference

atoum.loop

boolean : enable/disable atoum's loop mode. Defaults on ATOUM_LOOP environnement variable.

Exemple:

atoum:
  loop: true

atoum.debug

boolean : enable/disable atoum's debug mode. Defaults on ATOUM_DEBUG environnement variable.

Exemple:

atoum:
  debug: true

atoum.verbosity

integer : value between 1 and 3 determining atoum's verbosity level'. Defaults on ATOUM_VERBOSITY environnement variable.

Exemple:

atoum:
  verbosity: 2

atoum.directories

array : List of directories where atoum will look for unit tests. Defaults on ATOUM_DIRECTORIES environnement variable (a coma separated list of directories).

atoum:
    directories:
        - ./tests/units/classes

atoum.reports

array : List of reports. Defaults on ATOUM_REPORTS environnement variable (a coma separated list of reports).

Example:

atoum:
    reports:
        - report.default
        - report.coverage.clover

Possible values :

report.default

adds atoum's default reporter (when the reports key is defined, atoum's default reporter is no longer used).

report.coverage.clover

Adds a clover coverage reporter.

Path to were the report will be written could be configured using the coverage.clover.filename parameter.

report.xunit

Adds an xUnit reporter.

Path to were the report will be written could be configured using the xunit.filename parameter.

report.tap

Adds a TAP reporter.

report.vim

Adds a vim reporter.

report.nyancat

Adds a reporter that displays a nyancat.

report.santa

Adds a santa reporter.

atoum.fields

Fields allows you to customize reports. You can add fields for each report.

You need to add the report name as key, then add an array of fields.

This example adds the logo field to the default report :

atoum:
    reports:
        - report.default

    fields:
        report.default:
            - field.logo

field.logo

Displays atoum's logo at the begining of the report. Only works on cli reports.

field.logo.result

Displays atoum's logo at the end of the report. Only works on cli reports.

field.coverage.html

Generate an HTML coverage reports. Needs the php extension xdebug to be installed.

The project name in generated report and folder where the report will be generated could by configured with the project.name and coverage.html.directory and parameters.

parameters

You can customize the way reports or fields are generated using the parameters section on the .atoum.yml file.

Here is an example that changes the path where the xunit report is generated:

atoum:
    reports:
        - report.xml
parameters:
    xunit.filename: "mylogs/file.xml"

xunit.filename

Default value : xunit.xml.

Path were the xUnit report will be written in the report.xunit report.

The directory where the file is generated must exists, it will not be created by atoum.

coverage.html.directory

Default value : ./coverage.

Path to the folder where the HTML coverage files will be written. See field.coverage.html field.

project.name

Default value : atoum.

Will be used when generating the field.coverage.html field.

coverage.clover.filename

Default value : clover.xml.

Path where the clover report will be written in the report.clover report.

Links

License

config-extension is released under the BSD-3-Clause License. See the bundled LICENSE file for details.

atoum