forked from cucumber-rs/cucumber
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
113 lines (99 loc) · 3.65 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
[package]
name = "cucumber"
version = "0.20.0"
edition = "2021"
rust-version = "1.70"
description = """\
Cucumber testing framework for Rust, with async support. \
Fully native, no external test runners or dependencies.\
"""
license = "MIT OR Apache-2.0"
authors = [
"Brendan Molloy <[email protected]>",
"Ilya Solovyiov <[email protected]>",
"Kai Ren <[email protected]>",
]
documentation = "https://docs.rs/cucumber"
homepage = "https://github.com/cucumber-rs/cucumber"
repository = "https://github.com/cucumber-rs/cucumber"
readme = "README.md"
categories = ["asynchronous", "development-tools::testing"]
keywords = ["cucumber", "testing", "bdd", "atdd", "async"]
include = ["/src/", "/tests/json.rs", "/tests/junit.rs", "/tests/libtest.rs", "/tests/tracing.rs", "/tests/wait.rs", "/LICENSE-*", "/README.md", "/CHANGELOG.md"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[features]
default = ["macros"]
# Enables compatibility with Rust libtest (like outputting in its JSON format).
libtest = ["dep:serde", "dep:serde_json", "timestamps"]
# Enables step attributes and auto-wiring.
macros = ["dep:anyhow", "dep:cucumber-codegen", "dep:cucumber-expressions", "dep:inventory"]
# Enables support for outputting in Cucumber JSON format.
output-json = ["dep:base64", "dep:Inflector", "dep:mime", "dep:serde", "dep:serde_json", "timestamps"]
# Enables support for outputting JUnit XML report.
output-junit = ["dep:junit-report", "timestamps"]
# Enables timestamps collecting for all events.
timestamps = []
# Enables integraion with `tracing` crate.
tracing = ["dep:crossbeam-utils", "dep:tracing", "dep:tracing-subscriber"]
[dependencies]
async-trait = "0.1.43"
clap = { version = "4.3.2", features = ["derive", "wrap_help"] }
console = "0.15"
derive_more = { version = "0.99.17", features = ["as_ref", "deref", "deref_mut", "display", "error", "from", "from_str", "into"], default_features = false }
drain_filter_polyfill = "0.1.2"
either = "1.6"
futures = "0.3.17"
gherkin = "0.14"
globwalk = "0.8.1"
humantime = "2.1"
itertools = "0.11"
lazy-regex = "3.0"
linked-hash-map = "0.5.3"
once_cell = "1.13"
pin-project = "1.0"
regex = "1.5.5"
sealed = "0.5"
smart-default = "0.7.1"
# "macros" feature dependencies.
anyhow = { version = "1.0.58", optional = true }
cucumber-codegen = { version = "0.20", path = "./codegen", optional = true }
cucumber-expressions = { version = "0.3", features = ["into-regex"], optional = true }
inventory = { version = "0.3", optional = true }
# "output-json" and/or "libtest" features dependencies.
base64 = { version = "0.21", optional = true }
Inflector = { version = "0.11", default-features = false, optional = true }
mime = { version = "0.3.16", optional = true }
serde = { version = "1.0.103", features = ["derive"], optional = true }
serde_json = { version = "1.0.18", optional = true }
# "output-junit" feature dependencies.
junit-report = { version = "0.8", optional = true }
# "tracing" feature dependencies.
crossbeam-utils = { version = "0.8.14", optional = true }
tracing = { version = "0.1", optional = true }
tracing-subscriber = { version = "0.3.16", optional = true }
[dev-dependencies]
derive_more = "0.99.17"
rand = "0.8"
tempfile = "3.2"
tokio = { version = "1.12", features = ["macros", "rt-multi-thread", "sync", "time"] }
[[test]]
name = "json"
required-features = ["output-json", "tracing"]
[[test]]
name = "junit"
required-features = ["output-junit", "tracing"]
[[test]]
name = "libtest"
required-features = ["libtest"]
[[test]]
name = "tracing"
required-features = ["tracing"]
harness = false
[[test]]
name = "wait"
required-features = ["libtest"]
harness = false
[workspace]
members = ["codegen"]