cucumber-rust
An implementation of the Cucumber testing framework for Rust. Fully native, no external test runners or dependencies.
The 0.6.x macro has been removed. If you need to use this macro, please continue to use the 0.6 version.
Usage
Create a directory called tests/
in your project root and create a test target of your choice. In this example we will name it cucumber.rs
.
Add this to your Cargo.toml
:
[[]]
= "cucumber"
= false # Allows Cucumber to print output instead of libtest
[]
= { = "cucumber_rust", = "^0.7.0" }
Create a directory called features/
and put a feature file in it named something like example.feature
. It might look like:
Feature: Example feature
Scenario: An example scenario
Given I am trying out Cucumber
When I consider what I am doing
Then I am interested in ATDD
And we can implement rules with regex
And here's an example of implementing those steps using our tests/cucumber.rs
file:
extern crate cucumber_rust as cucumber;
use async_trait;
use ;
The full gamut of Cucumber's Gherkin language is implemented by the gherkin-rust project. Most features of the Gherkin language are parsed already and accessible via the relevant structs.
License
This project is licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.