Pedantic Rules (BP001–BP007)
July 3, 2026 · View on GitHub
Strict best-practice rules for teams that want thorough enforcement.
Default severity: INFO
BP001: missing-scenario-tags
Detects scenarios that do not have any tags. Tags help filter and categorize scenarios for targeted test execution.
Tags: tags, scenarios, pedantic
Since: 0.5.0
Example
??? example "Before → After"
**Before:**
```gherkin
Scenario: User login
Given a user
When I click login
```
**After:**
```gherkin
@smoke
Scenario: User login
Given a user
When I click login
```
BP002: missing-background
Detects features that lack a Background section. Common setup steps should be extracted into a Background to avoid duplication.
Tags: background, pedantic
Since: 0.5.0
Example
??? example "Before → After"
**Before:**
```gherkin
Feature: Dashboard
Scenario: View profile
Given a logged-in user
When I click profile
Then I see my profile
Scenario: View settings
Given a logged-in user
When I click settings
Then I see my settings
```
**After:**
```gherkin
Feature: Dashboard
Background: Authenticated user
Given a logged-in user
Scenario: View profile
When I click profile
Then I see my profile
Scenario: View settings
When I click settings
Then I see my settings
```
BP003: short-scenario-name
Detects scenarios with names shorter than the minimum length. Short names are often vague and uninformative.
Tags: naming, scenarios, pedantic
Configurable: min-length (default: 10)
Since: 0.5.0
Example
??? example "Before → After"
**Before:**
```gherkin
Scenario: Login
...
```
**After:**
```gherkin
Scenario: User logs in successfully
...
```
Or lower the threshold:
```toml
[tool.behave-lint.rules]
BP003 = { min-length = 5 }
```
BP004: short-feature-name
Detects features with names shorter than the minimum length. Short names are often vague and uninformative.
Tags: naming, feature, pedantic
Configurable: min-length (default: 10)
Since: 0.5.0
Example
??? example "Before → After"
**Before:**
```gherkin
Feature: Auth
```
**After:**
```gherkin
Feature: User Authentication
```
BP005: missing-examples-name
Detects Examples sections that lack a descriptive name. Named examples improve readability by grouping related data.
Tags: examples, naming, pedantic
Since: 0.5.0
Example
??? example "Before → After"
**Before:**
```gherkin
Scenario Outline: Login
Given a user with <username>
Examples:
| username |
| alice |
| bob |
```
**After:**
```gherkin
Scenario Outline: Login
Given a user with <username>
Examples: Valid users
| username |
| alice |
| bob |
```
BP006: missing-feature-description
Detects features that lack a description block. A description explains the feature's purpose and improves readability for non-technical stakeholders.
Tags: feature, description, pedantic
Since: 1.2.0
BP007: scenario-without-assertion
Detects scenarios that do not contain at least one Then step. Without
an assertion, the scenario does not verify any expected outcome.
Tags: scenarios, assertion, pedantic
Since: 1.2.0