custom cucumber formatters which append timestamps to each scenario's name as it is executed
Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
example
lib/timestamped
.gitignore
Gemfile
README.md
Rakefile
timestamped-scenarios.gemspec

README.md

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.