This extension will allow you to configure atoum using a YAML file and/or environnement variables.
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 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);
# .atoum.yml
atoum:
directories:
- ./tests/units/classes
fields:
report.default:
- field.logo
- field.logo.result
- field.coverage
reports:
- report.default
- report.coverage.clover
boolean
: enable/disable atoum's loop mode. Defaults on ATOUM_LOOP
environnement variable.
Exemple:
atoum:
loop: true
boolean
: enable/disable atoum's debug mode. Defaults on ATOUM_DEBUG
environnement variable.
Exemple:
atoum:
debug: true
integer
: value between 1 and 3 determining atoum's verbosity level'. Defaults on ATOUM_VERBOSITY
environnement variable.
Exemple:
atoum:
verbosity: 2
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
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 :
adds atoum's default reporter (when the reports key is defined, atoum's default reporter is no longer used).
Adds a clover coverage reporter.
Path to were the report will be written could be configured using the coverage.clover.filename parameter.
Adds an xUnit reporter.
Path to were the report will be written could be configured using the xunit.filename parameter.
Adds a TAP reporter.
Adds a vim reporter.
Adds a reporter that displays a nyancat.
Adds a santa reporter.
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
Displays atoum's logo at the begining of the report. Only works on cli reports.
Displays atoum's logo at the end of the report. Only works on cli reports.
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.
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"
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.
Default value : ./coverage
.
Path to the folder where the HTML coverage files will be written. See field.coverage.html field.
Default value : atoum
.
Will be used when generating the field.coverage.html field.
Default value : clover.xml
.
Path where the clover report will be written in the report.clover report.
config-extension is released under the BSD-3-Clause License. See the bundled LICENSE file for details.