Reporting
Just like the design patterns in your Serenity/JS scenarios revolve around the system metaphor of a stage performance, Serenity/JS support and reporting services follow the metaphor of a stage crew.
The StageCrewMembers
observe the Actors
on Stage
, watch the Activities
they perform, and listen to the DomainEvents
emitted by their environment. They use the information they gather to produce Artifacts
, such as test reports, produce more events to prompt other crew members to action, or perform side-effects like printing to the terminal, writing files to disk, or performing network or database calls.
Several of the Serenity/JS modules provide StageCrewMembers
you can use for test reporting purposes:
- Console Reporter - writes text-based test reports to your computer terminal,
- Serenity BDD Reporter - emits Serenity BDD-compatible JSON reports, to be archived via
ArtifactArchiver
and consumed by the Serenity BDD CLI to produce HTML reports and living documentation, - Artifact Archiver - stores report artifacts on disk
- Stream Reporter - logs any events it receives
You might want to study the above examples to create your own StageCrewMembers
and produce custom reports or send the results to external systems.