I’ve been doing some work testing web applications with Cucumber and I currently have a number of steps set up to run with Culerity. This works well, but there are times when it would be nice to run the exact same stories in Selenium.
I see two possible approaches that may work:
- Writing each step so that it performs the step appropriately depending on the value of some global variable.
- Having separate step definition files and somehow selectively including the correct one.
What is the preferred method for accomplishing this?
Third option: See if Culerity implements the Webrat API. Its README file says: “Culerity lets you (…) reuse existing Webrat-Style step definitions”. Couldn’t find much more than that though. Ideally, you would be able to switch backends with a config option or command-line argument without having to touch the step definitions.
Of course this would only work if you’re not testing Javascript, which Culerity supports, but Webrat doesn’t.