Useful Regular Expressions
Original document is found here
Use flexible pluralization
Add a ? immediately following the pluralized word:
Then /^the users? should receive an email$/ do# ...end
The ? specifies that you’re looking for zero or more of the proceeding character. So the above example will capture both user and users.
Use non-capturing groups to help steps read naturally
You can create non-capturing groups by adding a ?: to the beginning of a otherwise normal group (e.g. (?:some text) rather than (some text)). This is treated exactly like a normal group except that the result will is not captured and thus not passed as an argument to your step definition. Here are two common examples:
And /^once the files? (?:have|has) finished processing$/ do
# ...
end
When /^(?:I|they) create a profile$/ do
# ...
end
Debugging
Pausing
Original Link: ItShouldBeUseful
One of the best ways to do debugging in Cucumber is to pause one every step.
Add a hooks.rb file to the /features/support folder
Add the following code to the hooks.rb file
AfterStep('@pause') do
print "Press Return to continue..."
STDIN.getc
end
Add @pause to the scenario you want to walk through
Cucumber Expressions
Cucumber has been updated to offer Cucumber expressions as a way to make it easier to express steps that are grammatically correct