Cucumber.Compiler (Cucumber v1.0.0)

View Source

Compiles discovered features and steps into ExUnit test modules.

The compilation pipeline works as follows:

  1. Discovery finds all feature files and step definitions via Cucumber.Discovery
  2. For each feature file, a unique ExUnit test module is generated
  3. Module names are derived from the feature file path (e.g., test/features/auth.feature becomes Test.Features.AuthTest)
  4. The feature is compiled into pickles by Gherkin.Pickles (expanding scenario outlines and rules); each pickle becomes one ExUnit test block carrying its pickle id
  5. Tags from features and scenarios are mapped to ExUnit tags for filtering
  6. Hooks are wired in via Cucumber.Hooks

Summary

Functions

Compiles all discovered features into ExUnit test modules.

Functions

compile_features!(opts \\ [])

@spec compile_features!(keyword()) :: [module()]

Compiles all discovered features into ExUnit test modules.