allure-framework/allure-codeception

Allure Codeception 集成

v2.4.0 2024-05-28 09:54 UTC

README

Latest Stable Version Build Type Coverage Psalm Level Total Downloads License

这是 Allure 框架的官方 Codeception 适配器。

这是用来做什么的?

此适配器的主要目的是收集有关您的测试信息并将其写入一组 XML 文件:每个测试类一个。此适配器仅生成包含测试信息的 XML 文件。请参阅Wiki 部分了解如何生成报告。

示例项目

示例项目位于:https://github.com/allure-examples/allure-codeception-example

安装和使用

要使用此适配器,您需要将新的依赖项添加到您的 composer.json 文件中

{
    "require": {
	    "php": "^8",
	    "allure-framework/allure-codeception": "^2"
    }
}

要在 Codeception 测试中启用此适配器,只需将其放入 codeception.yml 中的 "enabled" 扩展部分

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 用于存储 Allure 结果,并将相对于 Codeception 输出目录(也称为 paths: log 在 codeception.yml 中)计算,除非您指定了绝对路径。您可以使用 .. 向上遍历。默认情况下,outputDirectoryallure-results

linkTemplates 用于处理链接并为它们生成 URL。您可以将类似于 sprintf() 的模板或要构建的类的名称放在这里;此类必须实现 Qameta\Allure\Setup\LinkTemplateInterface

setupHook 允许在初始化期间执行一些引导代码。您可以将实现魔法 __invoke() 方法的类的名称放在这里 - 该方法将被调用。例如,它可以用来忽略不必要的 docblock 注释

<?php

namespace My;

use Doctrine\Common\Annotations\AnnotationReader;

class SetupHook
{
    public function __invoke(): void
    {
        AnnotationReader::addGlobalIgnoredName('annotationToIgnore');
    }
}

要从您喜欢的终端生成报告,请安装 allure-cli 并运行以下命令(假设您位于项目根目录并使用默认配置)

allure generate -o ./build/allure-report ./build/allure-results

报告将在 build/allure-report 中生成。

主要功能

请参阅相应的 PHPUnit 部分。