Project

tagregate

0.0
Repository is archived
No commit activity in last 3 years
No release in over 3 years
Tagregate adds helpful Rake tasks to Ruby on Rails applications that use Cucumber tags.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.1.1
~> 1.8.3
~> 2.8.0
 Project Readme

Tagregate¶ ↑

Tagregate adds helpful Rake tasks to Ruby on Rails applications that use Cucumber tags.

Why?¶ ↑

We now have a rather extensive Cucumber test suite at HowAboutWe, but even when it was smaller, it quickly became apparent that the long time it took to run the entire suite was negatively impacting our development process.

While any sufficiently large Cucumber suite will eventually need more substantial optimizations like parallel execution and fast hardware, a reasonable first step for us was to begin tagging each new feature with the areas of the codebase most related to our test. Then for example if we were reworking the signup page, we could run the @signup tag, get a decent level of confidence in the regression risk of our change, and only have to wait for a subset of our entire Cucumber test suite to finish running.

Eventually we had a considerable number of tags in our suite, so we wrote Tagregate to help us keep them organized and valuable.

Included Rake Tasks¶ ↑

rake cucumber:tagregate:count

Prints the name and number of occurrences of all Cucumber tags found in your application’s features/ directory

rake cucumber:tagregate:file

Prints the name of each tag, along with each file in which the tag is being used.

Installation¶ ↑

# In your Rails application's Gemfile...
group :test, :development do
  gem "tagregate"
end

What is with the name?¶ ↑

This is probably best explained with an ascii illustration:

tag <--- aggregate =-
tag <-- aggregate =-
tag <- aggregate =-

  * g*   *
ta ** BOOM ** gregate
      *a *  *g *

tagregate

As you can see, letters were lost in the making of this name.

Copyright © 2012 HowAboutWe. See LICENSE.txt for further details.