What?

This gem provides custom cucumber formatters which append a test run timestamp to each scenario name as it is generated. a Timestamped::PrettyFormatter and Timestamped::HtmlFormatter are supplied already, but you can use the AddsTimestamp module to dynamically add timestamping to pretty much any Cucumber formatter.

Why?

My CI system is set up to record a screen capture movie of each test run. I use these timestamps to easily find a specific scenario's behaviour as recorded in the movie.

How?

Install the gem with gem install timestamped-scenarios and then simply ask cucumber to use the custom formatters with --format 'Timestamped::HtmlFormatter' --format 'Timestamped::PrettyFormatter'

You can also configure cucumber to use the formatters in your rake cucumber task, or by using a cucumber.yml config file. Check out the cucumber.yml file in the example directory to see how this is done.

You can create additional Formatter subclasses as required by using the Timestamped::AddsTimestamp#formatter_with_timestamped_scenario_names method.

Credits

Many thanks to Caleb Clausen for his metaprogramming wizardry, which cleaned up my implementation of AddsTimestamp greatly.