CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/bdd-overview

Teaches behaviour-driven development end to end for a newcomer: what BDD is and how discovery, formulation and automation fit together; a decision table that picks the runner from the project's language and build files (Cucumber-JVM, Cucumber-JS, Cucumber-Ruby, Behave for Python, Reqnroll for .NET, and why SpecFlow is end-of-life); install and first-run commands for each; the declarative-versus-imperative Gherkin discipline with a worked bad-versus-good pair; Background, Scenario Outline and domain-organised step libraries; the traps that make BDD collapse into an expensive UI-automation wrapper; and an honest account of when BDD is not worth adopting. Use when a team is adopting BDD, choosing a Gherkin runner, or a *.feature file needs writing and nobody has settled the conventions.

70

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Overview
Quality
Evals
Security
Files

runner-setup.mdreferences/

Per-runner install and first run

Install and first-run commands for four of the five runners in bdd-overview (the .NET / Reqnroll path stays in the SKILL.md spine). Run the block that matches your repo. Success everywhere is the same: the runner reports undefined steps and prints copy-pasteable step-definition snippets - the correct first result, not a failure.

# Node (Cucumber-JS), per cucumber.io/docs/installation/javascript
npm install --save-dev @cucumber/cucumber
mkdir -p features/step_definitions && npx cucumber-js

# Python (Behave), per behave.readthedocs.io/en/latest/install
pip install behave
mkdir -p features/steps && behave

# Java (Cucumber-JVM), the maintained Maven starter project
git clone https://github.com/cucumber/cucumber-jvm-starter-maven-java
cd cucumber-jvm-starter-maven-java && ./mvnw test

# Ruby (Cucumber-Ruby), per cucumber.io/docs/installation/ruby
gem install cucumber
cucumber --init && cucumber

Command sources: npm install --save-dev @cucumber/cucumber (install/javascript) with npx cucumber-js (cucumber-js CLI); pip install behave (behave install); ./mvnw test on the starter repo, which runs features through Cucumber's JUnit Platform Engine (jvm starter); gem install cucumber and cucumber --init (install/ruby).

references

SKILL.md

tile.json