This is an official Codeception adapter for Allure Framework.
The main purpose of this adapter is to accumulate information about your tests and write it out to a set of XML files: one for each test class. This adapter only generates XML files containing information about tests. See wiki section on how to generate report.
Example project is located at: https://github.com/allure-examples/allure-codeception-example
In order to use this adapter you need to add a new dependency to your composer.json file:
{
"require": {
"php": "^8",
"allure-framework/allure-codeception": "^2"
}
}
To enable this adapter in Codeception tests simply put it in "enabled" extensions section of codeception.yml:
extensions:
enabled:
- Qameta\Allure\Codeception\AllureCodeception
config:
Qameta\Allure\Codeception\AllureCodeception:
outputDirectory: allure-results
linkTemplates:
issue: https://example.org/issues/%s
setupHook: My\SetupHook
outputDirectory
is used to store Allure results and will be calculated
relatively to Codeception output directory (also known as paths: log
in
codeception.yml) unless you specify an absolute path. You can traverse up using
..
as usual. outputDirectory
defaults to allure-results
.
linkTemplates
is used to process links and generate URLs for them. You can put
here an sprintf()
-like template or a name of class to be constructed; such class
must implement Qameta\Allure\Setup\LinkTemplateInterface
.
setupHook
allows to execute some bootstrapping code during initialization. You can
put here a name of the class that implements magic __invoke()
method - and that method
will be called. For example, it can be used to ignore unnecessary docblock annotations:
<?php
namespace My;
use Doctrine\Common\Annotations\AnnotationReader;
class SetupHook
{
public function __invoke(): void
{
AnnotationReader::addGlobalIgnoredName('annotationToIgnore');
}
}
To generate report from your favourite terminal, install allure-cli and run following command (assuming you're in project root and using default configuration):
allure generate -o ./build/allure-report ./build/allure-results
Report will be generated in build/allure-report
.
See respective PHPUnit section.