Cargo Features

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


"macros" feature dependencies.

Affects cucumber::codegen, cucumber::World.collection, cucumber::World.cucumber,, 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


"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.



Enables integraion with tracing crate.

Enables crossbeam-utils, tracing, and tracing-subscriber


"tracing" feature dependencies.

Affects cucumber::tracing