Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/korobochka/cucumberjs-allure2-reporter
Allure 2 reporter for Cucumber.JS framework
https://github.com/korobochka/cucumberjs-allure2-reporter
allure-framework allure2 cucumberjs javascript typescript
Last synced: about 1 month ago
JSON representation
Allure 2 reporter for Cucumber.JS framework
- Host: GitHub
- URL: https://github.com/korobochka/cucumberjs-allure2-reporter
- Owner: korobochka
- License: mit
- Created: 2018-01-18T14:43:27.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-09-04T04:29:40.000Z (over 6 years ago)
- Last Synced: 2024-11-02T01:18:10.320Z (about 2 months ago)
- Topics: allure-framework, allure2, cucumberjs, javascript, typescript
- Language: TypeScript
- Size: 117 KB
- Stars: 5
- Watchers: 3
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# cucumberjs-allure2-reporter
Allure 2 reporter for Cucumber.JS framework
Compatible with Cucumber.JS 3+ and Allure 2+NPM link: [cucumberjs-allure2-reporter](https://www.npmjs.com/package/cucumberjs-allure2-reporter)
### How to use
Create Reporter file:
```ecmascript 6
export default class Reporter extends CucumberJSAllureFormatter {
constructor(options) {
super(
options,
new AllureRuntime({ resultsDir: "./out/allure-results" }),
{
labels: {
issue: [/@bug_(.*)/],
epic: [/@feature:(.*)/]
}
}
);
}
}
```
This class MUST:
* Be a default export
* Extend `CucumberJSAllureFormatter`
* Take 1 argument in constructor and pass it to `super()` as first argument
* Second `super()` argument is `AllureRuntime` instance
* Third is a config, currently allows to map tags to Allure labelsThen pass with reporter as a Cucumber formatter:
```
node cucumber.js --format ./path/to/Reporter.js
```
If you want to retain default formatter add some dummy file as output:
```
node cucumber.js --format ./path/to/Reporter.js:./dummy.txt
```#### Reporter without classes
If you can not use classes (ES6 or TypeScript), here is an example of Reporter.js file written in plain JS:
```javascript
var CucumberJSAllureFormatter = require("cucumberjs-allure2-reporter").CucumberJSAllureFormatter;
var AllureRuntime = require("cucumberjs-allure2-reporter").AllureRuntime;function Reporter(options) {
CucumberJSAllureFormatter.call(this,
options,
new AllureRuntime({ resultsDir: "./out/allure-results" }),
{});
}
Reporter.prototype = Object.create(CucumberJSAllureFormatter.prototype);
Reporter.prototype.constructor = Reporter;exports.default = Reporter;
```### API
Instance of AllureInterface will be added to World prototype.
You can use it for creating nested steps and adding info to the report.### Author
Ilya Korobitsyn
#### Contributors
* Claudia Hardman