Uploaded image for project: 'JBehave'
  1. JBEHAVE-162

Need to be able to set order of steps for matching

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.2
    • Fix Version/s: 2.5
    • Component/s: None
    • Labels:
      None

      Description

      We have run into some difficulty declaring steps that have similar wording such that the matching was incorrect for some of our scenarios. For example:

      We have a line from one of scenarios that looks like this:

      And the table.testtable with test_1_id of foo has exactly one test_2_id of bar

      We want this line to match on the following step:

      @Given("the $tableName with $whereColumnName of $whereColumnValue has exactly one $selectColumnName of $selectColumnValue")

      But instead the match is always occuring on this step:

      @Given("the $tableName with $whereColumnName of $whereColumnValue has $selectColumnName of $selectColumnValue")

      where $selectColumnName gets interpreted as "exactly one test_2_id"

      Can we have an annotation that indicates the order by which the matching occurs? That way, the first step in our example would always get compared first to our example input line instead of step two. For example something like this:

      @Order(1)
      @Given("the $tableName with $whereColumnName of $whereColumnValue has exactly one $selectColumnName of $selectColumnValue")

      @Order(2)
      @Given("the $tableName with $whereColumnName of $whereColumnValue has $selectColumnName of $selectColumnValue")

        Attachments

          Activity

            People

            • Assignee:
              maurotalevi Mauro Talevi
              Reporter:
              douglaspadian Douglas Padian
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: