# cucumberex v0.2.1 - Table of Contents

Full-featured Cucumber/BDD framework for Elixir

## Pages

- [Cucumberex](readme.md)
- [Changelog](changelog.md)
- [LICENSE](license.md)

## Modules

- [Cucumberex](Cucumberex.md): Full-featured Cucumber BDD framework for Elixir.
- [Cucumberex.Config](Cucumberex.Config.md): Configuration struct for a Cucumber run.
- [Cucumberex.Config.Loader](Cucumberex.Config.Loader.md): Load configuration from:
  1. cucumber.yml or .config/cucumber.yml profiles
  2. mix.exs :cucumberex config
  3. CLI args (highest priority)

- [Cucumberex.DSL](Cucumberex.DSL.md): Step definition DSL.
- [Cucumberex.DataTable](Cucumberex.DataTable.md): Wrapper around Cucumber pickle table data with convenience accessors.
- [Cucumberex.DocString](Cucumberex.DocString.md): Multi-line doc string argument in a step.
- [Cucumberex.Events](Cucumberex.Events.md): Event structs for the test lifecycle.
- [Cucumberex.Events.Bus](Cucumberex.Events.Bus.md): Event bus: broadcast test lifecycle events to formatters.
- [Cucumberex.Filter.LineFilter](Cucumberex.Filter.LineFilter.md): Filter scenarios by file:line.
- [Cucumberex.Filter.NameFilter](Cucumberex.Filter.NameFilter.md): Filter scenarios by name pattern.
- [Cucumberex.Filter.TagExpression](Cucumberex.Filter.TagExpression.md): Parse and evaluate Cucumber tag expressions.
- [Cucumberex.Formatter](Cucumberex.Formatter.md): Formatter behaviour for Cucumberex.
- [Cucumberex.Formatter.ANSI](Cucumberex.Formatter.ANSI.md): ANSI color helpers. Each function wraps `s` in an ANSI color then a reset.
- [Cucumberex.Formatter.HTML](Cucumberex.Formatter.HTML.md): HTML report formatter.
- [Cucumberex.Formatter.JSON](Cucumberex.Formatter.JSON.md): JSON formatter — emits cucumber-compatible JSON report.
- [Cucumberex.Formatter.JUnit](Cucumberex.Formatter.JUnit.md): JUnit XML formatter for CI integration.
- [Cucumberex.Formatter.Pretty](Cucumberex.Formatter.Pretty.md): Human-friendly colored terminal output.
- [Cucumberex.Formatter.Progress](Cucumberex.Formatter.Progress.md): Dot-per-step progress formatter (like RSpec's progress formatter).
- [Cucumberex.Formatter.Rerun](Cucumberex.Formatter.Rerun.md): Rerun formatter: writes failed scenario locations to a file.
Use with `mix cucumber @rerun.txt` to re-run only failures.

- [Cucumberex.Hook](Cucumberex.Hook.md): A registered hook with phase, tag filter, and implementation.
- [Cucumberex.Hooks.DSL](Cucumberex.Hooks.DSL.md): Hook definition DSL. Use in support files
- [Cucumberex.Hooks.Registry](Cucumberex.Hooks.Registry.md): GenServer registry for all hooks.
- [Cucumberex.ParameterType](Cucumberex.ParameterType.md): A named parameter type with a regexp and transformer.
- [Cucumberex.ParameterType.BuiltIn](Cucumberex.ParameterType.BuiltIn.md): Built-in Cucumber parameter types.
- [Cucumberex.ParameterType.Registry](Cucumberex.ParameterType.Registry.md): Registry for parameter types used in Cucumber Expressions.
- [Cucumberex.Result](Cucumberex.Result.md): Step and scenario result types.
- [Cucumberex.Runner](Cucumberex.Runner.md): Top-level test runner: load features, filter, order, execute, report.
- [Cucumberex.Runner.ScenarioRunner](Cucumberex.Runner.ScenarioRunner.md): Execute a single pickle (scenario/scenario outline row).
- [Cucumberex.Runner.StepRunner](Cucumberex.Runner.StepRunner.md): Execute a single pickle step.
- [Cucumberex.StepDefinition](Cucumberex.StepDefinition.md): A registered step definition with pattern and implementation.
- [Cucumberex.StepDefinition.Expression](Cucumberex.StepDefinition.Expression.md): Compile Cucumber Expressions and plain Regex patterns to Elixir regexes.
- [Cucumberex.StepDefinition.Matcher](Cucumberex.StepDefinition.Matcher.md): Match a step text against registered step definitions.
- [Cucumberex.StepDefinition.Registry](Cucumberex.StepDefinition.Registry.md): GenServer registry for step definitions.
- [Cucumberex.StepDefinition.Snippet](Cucumberex.StepDefinition.Snippet.md): Generate step definition snippets for undefined steps.
- [Cucumberex.World](Cucumberex.World.md): World context: a plain map threaded through each scenario.
Isolated per scenario — no state shared between scenarios.
- [Cucumberex.World.Registry](Cucumberex.World.Registry.md): Global registry for the world factory function.

## Mix Tasks

- [mix cucumber](Mix.Tasks.Cucumber.md): Run Cucumber feature tests.
- [mix cucumber.gen.feature](Mix.Tasks.Cucumber.Gen.Feature.md): Generate a `.feature` skeleton under `features/`.
- [mix cucumber.gen.steps](Mix.Tasks.Cucumber.Gen.Steps.md): Generate a step definition module skeleton.
- [mix cucumber.init](Mix.Tasks.Cucumber.Init.md): Scaffold `features/`, a starter step module, a starter env file, and an
example feature so `mix cucumber` runs green immediately.

