Cargo Features

[dependencies]
cucumber = { version = "0.20.2", default-features = false, features = ["libtest", "macros", "output-json", "output-junit", "timestamps", "tracing"] }
default = macros

The macros feature is set by default whenever cucumber is added without default-features = false somewhere in the dependency tree.

libtest = timestamps

Enables compatibility with Rust libtest (like outputting in its JSON format).

Enables serde and serde_json

Affects writer::libtest

macros default

Enables step attributes and auto-wiring.

Enables anyhow, cucumber-codegen, cucumber-expressions, and inventory

anyhow:

"macros" feature dependencies.

Affects cucumber::codegen, cucumber::World.collection, cucumber::World.cucumber, cucumber::World.run, cucumber::World.filter_run

output-json = timestamps

Enables support for outputting in Cucumber JSON format.

Enables inflector, base64 ^0.21, mime, serde, and serde_json

base64:

"output-json" and/or "libtest" features dependencies.

Affects writer::json

output-junit = timestamps

Enables support for outputting JUnit XML report.

Enables junit-report

"output-junit" feature dependencies.

Affects writer::junit

timestamps libtest? output-json? output-junit?

Enables timestamps collecting for all events.

Affects event::Event.at

tracing

Enables integraion with tracing crate.

Enables crossbeam-utils, tracing, and tracing-subscriber

crossbeam-utils:

"tracing" feature dependencies.

Affects cucumber::tracing