views:

358

answers:

1

Hello,

I'm using Cucumber with RSpec in a Rails project. When I use the "rake stats" task, I get the following :

+----------------------+-------+-------+---------+---------+-----+-------+
| Name                 | Lines |   LOC | Classes | Methods | M/C | LOC/M |
+----------------------+-------+-------+---------+---------+-----+-------+
| Controllers          |   948 |   761 |      21 |      87 |   4 |     6 |
| Helpers              |   212 |   175 |       0 |      24 |   0 |     5 |
| Models               |   912 |   741 |      28 |      72 |   2 |     8 |
| Libraries            |   305 |   211 |       1 |      25 |  25 |     6 |
| Model specs          |   978 |   797 |       0 |       1 |   0 |   795 |
| View specs           |   270 |   227 |       0 |       0 |   0 |     0 |
| Controller specs     |  1144 |   944 |       0 |       4 |   0 |   234 |
| Helper specs         |   154 |   116 |       0 |       0 |   0 |     0 |
+----------------------+-------+-------+---------+---------+-----+-------+
| Total                |  4923 |  3972 |      50 |     213 |   4 |    16 |
+----------------------+-------+-------+---------+---------+-----+-------+
  Code LOC: 1888     Test LOC: 2084     Code to Test Ratio: 1:1.1

So rspec adds its stats (see the model, view, controller and helper specs).
But I don't have the cucumber ones. How could I add them to my rake stats ?

+5  A: 

Hello,

RSpec creates a lib/tasks/rspec.rake file. And redefines the stats directories inside of it.

At the line 108 of that file, you'll see :

# Setup specs for stats
task :statsetup do
    require 'code_statistics'
    ::STATS_DIRECTORIES << %w(Model\ specs spec/models) if File.exist?('spec/models')
    ::STATS_DIRECTORIES << %w(View\ specs spec/views) if File.exist?('spec/views')
    ....
end

You just need to add your cucumber features directory there, right before the end of the task.

#
# Adding Cucumber features to the stats
#
::STATS_DIRECTORIES << %w(Cucumber\ features features) if File.exist?('features')
::CodeStatistics::TEST_TYPES << "Cucumber features" if File.exist?('features')
Damien MATHIEU
Woh that was quick ! I'm checking that.
Any tips on how to do this if you're not using rspec?
brad
Could you tell us how that works with the latest rspec-2 gem? Because there is no rake task
Lichtamberg
It doesn't. Sorry.
Damien MATHIEU