Testing / Cucumber Interview Questions
What is a Pickle in Cucumber's internal architecture?
A "Pickle" is Cucumber's internal, language-agnostic representation of a single, concrete, executable scenario, produced by compiling a Gherkin document (resolving Background steps, expanding Scenario Outline/Examples combinations, and so on) into a flat, self-contained structure that's easier for the execution engine to work with directly.
This compilation step matters because a feature file's raw text doesn't map one-to-one with what actually needs to execute: a single Scenario Outline with an Examples table produces multiple pickles, one per row, each fully expanded with its own concrete step text and no remaining placeholders, and each also has the feature's Background steps already merged in ahead of its own steps.
Pickles are part of Cucumber's shared cross-language messaging protocol, which is also why tooling like IDE plugins and reporting formatters can work consistently across Cucumber-JVM, Cucumber.js, and other implementations: they're all producing and consuming the same underlying Pickle/message format under the hood, regardless of which language's Cucumber they're running.
More Related questions...