https://github.com/allure-framework/allure-php-commons2
Allure integrations for PHP test frameworks: Commons Module
https://github.com/allure-framework/allure-php-commons2
allure php reporting
Last synced: about 2 months ago
JSON representation
Allure integrations for PHP test frameworks: Commons Module
- Host: GitHub
- URL: https://github.com/allure-framework/allure-php-commons2
- Owner: allure-framework
- License: apache-2.0
- Created: 2021-08-26T12:24:15.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2025-04-11T10:33:03.000Z (about 2 months ago)
- Last Synced: 2025-04-11T12:03:13.740Z (about 2 months ago)
- Topics: allure, php, reporting
- Language: PHP
- Homepage:
- Size: 150 KB
- Stars: 8
- Watchers: 8
- Forks: 5
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Allure PHP Commons
[](https://packagist.org/packages/allure-framework/allure-php-commons)
[](https://github.com/allure-framework/allure-php-commons2/actions/workflows/build.yml)
[](https://shepherd.dev/github/allure-framework/allure-php-commons2)
[](https://shepherd.dev/github/allure-framework/allure-php-commons2)
[](https://packagist.org/packages/allure-framework/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**:
```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`](./src/Attribute/AttributeSetInterface.php) that allows to set several attributes at once:```php
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:
- [`Qameta\Allure\Attribute\DescriptionInterface`](./src/Attribute/DescriptionInterface.php)
- [`Qameta\Allure\Attribute\DisplayNameInterface`](./src/Attribute/DisplayNameInterface.php)
- [`Qameta\Allure\Attribute\LabelInterface`](./src/Attribute/LabelInterface.php)
- [`Qameta\Allure\Attribute\LinkInterface`](./src/Attribute/LinkInterface.php)
- [`Qameta\Allure\Attribute\ParameterInterface`](./src/Attribute/ParameterInterface.php)## Other usage examples
See [allure-phpunit](https://github.com/allure-framework/allure-phpunit)
and [allure-codeception](https://github.com/allure-framework/allure-codeception) projects.