This project is archived and is in readonly mode.

rake stats bad method count
Reported by daeltar | February 8th, 2009 @ 07:53 PM | in 2.x
When using block syntax for tests(e.g.. test "something"
do ... ) instead of method calls(e.g.. def
test_something) you get bad result by running rake stats
example output:
| Name                 | Lines |   LOC | Classes | Methods | M/C | LOC/M |
| Integration tests    |    40 |    33 |       1 |       4 |   4 |     6 |
| Functional tests     |   257 |   214 |       8 |       2 |   0 |   105 |
Suggested behavior is to count test "something" do
blocks as methods in this report.
Comments and changes to this ticket
- 
            
         daeltar February 8th, 2009 @ 08:33 PMEasy solution seems to be adding stats["methods"] += 1 if line =~ /test \"[a-z]/to railties/lib/code_statistics.rb 
- 
            
         Malte March 18th, 2009 @ 07:26 PM- Tag changed from rake to 2.3.2, rake, stats
 Hi, this issue persists in in 2.3.2 (of course). Daeltar, your patch looks ok, but it doesn't work for me- patched /usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/code_statistics.rb but still no test-stats. Maybe rake is not using this gem-directory? (I have some older versions installed, too but 2.3.2 is configured in environment.rb and app uses it with script/console etc.) Any ideas? Sorry if this is not the right place to discuss this... 
- 
            
         James March 19th, 2009 @ 10:33 PMYou might want to try a slightly more stringent regex, something like... stats["methods"] += 1 if line =~ /test ("(\\.|[^"\\])*"|'(\\.|[^'\\])*') do /Related: I've submitted a patch to improve class counts so that classes that are opened in several files aren't counted more than once -- see #2299. 
- 
         Matt Jones March 28th, 2009 @ 09:58 PMI noticed this as well a while back, but I'm not sure what the utility of making changes to the task is - at best, it's a very rough count. Catching 'test "blah"' lines is a good start, but what about Shoulda tests? Rspec? (and others...) Nevermind issues with code that dynamically defines methods and so forth. 
- 
         Ryan Bigg April 29th, 2010 @ 10:25 PM- State changed from new to duplicate
 I agree with Matt Jones, it's a rough count and something that won't be fixed. 
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »
<h2 style="font-size: 14px">Tickets have moved to Github</h2>
The new ticket tracker is available at <a href="https://github.com/rails/rails/issues">https://github.com/rails/rails/issues</a>
 Malte
      Malte
 Matt Jones
      Matt Jones
 Ryan Bigg
      Ryan Bigg