Problem
Even with JSON, text, Markdown, and JUnit-style reporting, mofa-testing still lacks a richer result-export path for teams that want attachment-friendly test reporting and timeline-friendly result viewers.
Allure is commonly used for this kind of richer test result visualization, but mofa-testing currently has no exporter that maps report results into Allure-compatible result files.
Proposed Solution
Add an Allure exporter that converts one TestReport into one or more Allure result JSON files with stable identifiers and status mapping.
The initial version should stay intentionally narrow:
- map
TestCaseResult into Allure-compatible result payloads
- include status, duration, message, and simple labels
- optionally attach metadata as parameters or labels
- avoid introducing a full Allure runtime integration layer
Scope
- add an
AllureExporter or AllureFormatter in the report layer
- emit stable JSON payloads for Allure consumers
- map pass/fail/skipped statuses consistently
- include test name, suite name, duration, and failure message
- add focused export tests
Acceptance Criteria
- each
TestCaseResult can be exported into a valid Allure-style result payload
- status mapping is correct for passed, failed, and skipped tests
- exported payloads are deterministic for the same input report
- metadata can be represented as labels or parameters without breaking export
- tests cover at least:
- simple pass case
- failure with message
- skipped case
- metadata-rich case
Problem
Even with JSON, text, Markdown, and JUnit-style reporting,
mofa-testingstill lacks a richer result-export path for teams that want attachment-friendly test reporting and timeline-friendly result viewers.Allure is commonly used for this kind of richer test result visualization, but
mofa-testingcurrently has no exporter that maps report results into Allure-compatible result files.Proposed Solution
Add an Allure exporter that converts one
TestReportinto one or more Allure result JSON files with stable identifiers and status mapping.The initial version should stay intentionally narrow:
TestCaseResultinto Allure-compatible result payloadsScope
AllureExporterorAllureFormatterin the report layerAcceptance Criteria
TestCaseResultcan be exported into a valid Allure-style result payload