Configuración de Allure PHPUnit
Esta página describe las opciones de configuración que se pueden establecer en el archivo de configuración para Allure PHPUnit.
Por defecto, el archivo de configuración se busca en config/allure.config.php
, pero esta ubicación puede ser reemplazada, consulta Prepara tu proyecto.
outputDirectory
Ruta al directorio donde Allure PHPUnit guardará los resultados de las pruebas, consulta Cómo funciona. Si el directorio no existe, se creará. El valor predeterminado es build/allure-results
.
<?php
return [
'outputDirectory' => 'build/allure-results',
];
linkTemplates
Un mapeo de plantillas que pueden usarse para construir URLs completas a partir de identificadores cortos, consulta la referencia.
Cada clave debe ser un identificador de tipo de enlace, y cada valor debe ser una clase que implemente la interfaz LinkTemplateInterface
, o un objeto de tal clase. Al procesar un enlace del tipo dado, Allure PHPUnit llamará al método buildUrl()
de la clase.
<?php
use Qameta\Allure\Setup\LinkTemplateInterface;
return [
'linkTemplates' => [
'issue' =>
new class implements LinkTemplateInterface {
public function buildUrl(?string $name): ?string
{
return "https://issues.example.com/$name";
}
},
'tms' =>
new class implements LinkTemplateInterface {
public function buildUrl(?string $name): ?string
{
return "https://tms.example.com/$name";
}
},
'jira' =>
new class implements LinkTemplateInterface {
public function buildUrl(?string $name): ?string
{
return "https://jira.example.com/browse/$name";
}
},
],
];
setupHook
Una función que se llamará antes de inicializar el ciclo de vida de Allure PHPUnit.
<?php
return [
'setupHook' => function () {
// ...
},
];
lifecycleHooks
Un arreglo de una o más clases, cada una implementando una o más interfaces de lifecycle hook para Allure PHPUnit. Por ejemplo, una clase de este tipo puede modificar los resultados de las pruebas antes o después del procesamiento estándar de Allure PHPUnit.
<?php
use Qameta\Allure\Hook\AfterTestStopHookInterface;
use Qameta\Allure\Hook\BeforeTestStartHookInterface;
use Qameta\Allure\Model\TestResult;
return [
'lifecycleHooks' => [
new class implements BeforeTestStartHookInterface, AfterTestStopHookInterface {
public function beforeTestStart(TestResult $test): void
{
// ...
}
public function afterTestStop(TestResult $test): void
{
// ...
}
},
],
];
threadDetector
Una clase que implemente la interfaz ThreadDetectorInterface
, o un objeto de tal clase. Si se establece, Allure PHPUnit utilizará sus métodos getHost()
y getThread()
para determinar los identificadores de host y de hilo para una prueba actual. Los resultados de la prueba se colocarán en la pestaña Timeline según corresponda.
El siguiente ejemplo supone que usas pthreads para ejecutar tus pruebas de PHPUnit en paralelo.
<?php
use Qameta\Allure\PHPUnit\Setup\ThreadDetectorInterface;
return [
'threadDetector' => new class implements ThreadDetectorInterface {
function getHost(): ?string
{
return gethostname();
}
function getThread(): ?string
{
return strval(Thread::getCurrentThread() . getThreadId());
}
},
];