FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

allure-framework/allure-php-commons2: Allure integrations for PHP test frameworks: Commons Module · GitHub

Allure PHP Commons

This repository contains PHP API for Allure framework. The main idea is to reuse this API when creating adapters for different test frameworks.

Getting started

In order to use this API you simply need to add the following to composer.json:

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

Custom attributes

You can easily implement custom attributes and use them with your test framework. In most cases you would like to implement Qameta\Allure\Attribute\AttributeSetInterface that allows to set several attributes at once:

<?php

use Qameta\Allure\Attribute\AttributeSetInterface;
use Qameta\Allure\Attribute\DisplayName;
use Qameta\Allure\Attribute\Tag;

#[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD)]
class MyAttribute implements AttributeSetInterface
{
    private array $tags;

    public function __construct(
        private string $displayName,
        string ...$tags,
    ) {
        $this->tags = $tags;
    }
    
    public function getAttributes() : array
    {
        return [
            new DisplayName($this->displayName),
            ...array_map(
                fn (string $tag): Tag => new Tag($tag),
                $this->tags,
            ),
        ];
    }
}

// Example of usage
#[MyAttribute('Test name', 'tag 1', 'tag 2')]
class MyTestClass
{
}

You can also implement particular attribute interfaces instead of using one of the standard implementations:

Other usage examples

See allure-phpunit and allure-codeception projects.

About

Allure integrations for PHP test frameworks: Commons Module

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

9 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

Contributors

Languages


Back | FazBrowse Home | New Git URL