SpecFlow · Schema
SpecFlow Scenario
Represents a BDD scenario definition in SpecFlow/Gherkin format with all associated metadata
.NETBDDCucumberGherkinTesting
Properties
| Name | Type | Description |
|---|---|---|
| title | string | The scenario title in natural language |
| description | string | Optional description providing additional context for the scenario |
| tags | array | Tags for categorizing and filtering scenarios (e.g., @smoke, @regression, @wip) |
| steps | array | Ordered list of Given/When/Then steps |
| examples | array | Example tables for Scenario Outlines |
| feature | string | Name of the feature this scenario belongs to |
| featureFile | string | Path to the .feature file containing this scenario |
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://raw.githubusercontent.com/api-evangelist/specflow/main/json-schema/specflow-scenario-schema.json",
"title": "SpecFlow Scenario",
"description": "Represents a BDD scenario definition in SpecFlow/Gherkin format with all associated metadata",
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The scenario title in natural language"
},
"description": {
"type": "string",
"description": "Optional description providing additional context for the scenario"
},
"tags": {
"type": "array",
"items": {"type": "string"},
"description": "Tags for categorizing and filtering scenarios (e.g., @smoke, @regression, @wip)"
},
"steps": {
"type": "array",
"description": "Ordered list of Given/When/Then steps",
"items": {
"type": "object",
"properties": {
"keyword": {
"type": "string",
"enum": ["Given", "When", "Then", "And", "But"],
"description": "The Gherkin keyword for this step"
},
"text": {
"type": "string",
"description": "The step text in natural language"
},
"dataTable": {
"type": "array",
"description": "Optional data table rows",
"items": {
"type": "array",
"items": {"type": "string"}
}
},
"docString": {
"type": "string",
"description": "Optional multi-line string argument"
}
},
"required": ["keyword", "text"]
}
},
"examples": {
"type": "array",
"description": "Example tables for Scenario Outlines",
"items": {
"type": "object",
"properties": {
"tags": {"type": "array", "items": {"type": "string"}},
"header": {"type": "array", "items": {"type": "string"}},
"rows": {
"type": "array",
"items": {"type": "array", "items": {"type": "string"}}
}
}
}
},
"feature": {
"type": "string",
"description": "Name of the feature this scenario belongs to"
},
"featureFile": {
"type": "string",
"description": "Path to the .feature file containing this scenario"
}
},
"required": ["title", "steps"]
}