SpecFlow · Schema

SpecFlow Feature

Represents a Gherkin feature file containing related BDD scenarios

.NETBDDCucumberGherkinTesting

Properties

Name Type Description
name string The feature name in natural language
description string Multi-line description of the feature providing business context
tags array Tags applied to all scenarios in this feature
background object Optional Background block with steps that run before each scenario
scenarios array List of scenarios defined in this feature
language string The language of the Gherkin keywords (ISO 639-1 code)
View JSON Schema on GitHub

JSON Schema

specflow-feature-schema.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/specflow/main/json-schema/specflow-feature-schema.json",
  "title": "SpecFlow Feature",
  "description": "Represents a Gherkin feature file containing related BDD scenarios",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "The feature name in natural language"
    },
    "description": {
      "type": "string",
      "description": "Multi-line description of the feature providing business context"
    },
    "tags": {
      "type": "array",
      "items": {"type": "string"},
      "description": "Tags applied to all scenarios in this feature"
    },
    "background": {
      "type": "object",
      "description": "Optional Background block with steps that run before each scenario",
      "properties": {
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "keyword": {"type": "string", "enum": ["Given", "When", "Then", "And", "But"]},
              "text": {"type": "string"}
            },
            "required": ["keyword", "text"]
          }
        }
      }
    },
    "scenarios": {
      "type": "array",
      "description": "List of scenarios defined in this feature",
      "items": {
        "$ref": "#/definitions/ScenarioRef"
      }
    },
    "language": {
      "type": "string",
      "default": "en",
      "description": "The language of the Gherkin keywords (ISO 639-1 code)"
    }
  },
  "required": ["name", "scenarios"],
  "definitions": {
    "ScenarioRef": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": ["Scenario", "ScenarioOutline"],
          "description": "Whether this is a regular scenario or a scenario outline with examples"
        },
        "title": {"type": "string"},
        "tags": {"type": "array", "items": {"type": "string"}},
        "steps": {"type": "array"},
        "examples": {"type": "array"}
      },
      "required": ["type", "title", "steps"]
    }
  }
}