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:
@serenity-js/console-reporter
- provides theConsoleReporter
, which writes text-based test reports to your computer terminal,@serenity-js/serenity-bdd
- provides theSerenityBDDReporter
, which emits Serenity BDD-compatible JSON reports, to be archived viaArtifactArchiver
and consumed by the Serenity BDD CLI to produce HTML reports and living documentation,@serenity-js/core
- provides theArtifactArchiver
, which store the artifacts on disk, as well as theStreamReporter
, which logs any events it receives.
You can also create your own StageCrewMembers
based on the above examples.