Class NamingStrategy


  • public abstract class NamingStrategy
    extends Object
    Names Pickles in a GherkinDocument.

    Pickles in a Gherkin document have a name. But represented without the structure of a Gherkin document (e.g. in a flat xml report), these names can lose their meaning. The long naming strategy solves this problem by prefixing an elements name with the names of all its ancestors, optionally including the feature name.

    Furthermore, Pickles derived from an example can be named in two ways. Either by their example number (e.g. Example #3.14) or by their pickle name. If a parameterized pickle name is used, the latter may be preferable.

    
     Feature: Examples Tables
       Scenario Outline: Eating <eat> cucumbers
         Given there are <start> cucumbers
         When I eat <eat> cucumbers
         Then I should have <left> cucumbers
    
         Examples: These are passing
           | start | eat | left |
           |    12 |   5 |    7 |
           |    20 |   6 |   14 |
    
         Examples: These are failing
           | start | eat | left |
           |    12 |  20 |    0 |
           |     0 |   1 |    0 |
     
    With the long strategy, using example numbers the pickles in this example would be named:
    • Examples Tables - Eating <eat> cucumbers - These are passing - Example #1.1
    • Examples Tables - Eating <eat> cucumbers - These are passing - Example #1.2
    • Examples Tables - Eating <eat> cucumbers - These are failing - Example #2.1
    • Examples Tables - Eating <eat> cucumbers - These are failing - Example #2.2

    And with the short strategy, using pickle names:

    • Eating 5 cucumbers
    • Eating 6 cucumbers
    • Eating 20 cucumbers
    • Eating 1 cucumbers