Class Pickle

java.lang.Object
io.cucumber.messages.types.Pickle

public final class Pickle extends Object
Represents the Pickle message in Cucumber's message protocol

A `Pickle` represents a template for a `TestCase`. It is typically derived from another format, such as [GherkinDocument](#io.cucumber.messages.GherkinDocument). In the future a `Pickle` may be derived from other formats such as Markdown or Excel files.

By making `Pickle` the main data structure Cucumber uses for execution, the implementation of Cucumber itself becomes simpler, as it doesn't have to deal with the complex structure of a [GherkinDocument](#io.cucumber.messages.GherkinDocument).

Each `PickleStep` of a `Pickle` is matched with a `StepDefinition` to create a `TestCase`

  • Constructor Details

  • Method Details

    • getId

      public String getId()
      A unique id for the pickle
    • getUri

      public String getUri()
      The uri of the source file
    • getName

      public String getName()
      The name of the pickle
    • getLanguage

      public String getLanguage()
      The language of the pickle
    • getSteps

      public List<PickleStep> getSteps()
      One or more steps
    • getTags

      public List<PickleTag> getTags()
      One or more tags. If this pickle is constructed from a Gherkin document, It includes inherited tags from the `Feature` as well.
    • getAstNodeIds

      public List<String> getAstNodeIds()
      Points to the AST node locations of the pickle. The last one represents the unique id of the pickle. A pickle constructed from `Examples` will have the first id originating from the `Scenario` AST node, and the second from the `TableRow` AST node.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object