I'm apologize for my English, before.

I'm doing a post graduation thesis about BDD, an my initial idea is to
compare a ruby program built by TDD and after by BDD. In these cases,
the both projects have identical code, excepts the tests that  were made
by  Test::Unit and Rspec respectively. So I'm using some code metrics
like rcov, flay, flog and etc. for compare the  generated tests.

I made the same for a rails project. I built a blog with three models
(user, post and comment) using TDD approach using Test::Unit. After I
did the same project using the BDD approach for build the same code but
using rspec instead Test::Unit framework. In both projects the total
number of tests are the same and the code generated are identical. So I
tried to use metric-fu for compare these rails projects and the results
left me frustrated.

The flog and roodi's metrics showing noting!
I need to measure files user.rb, post.rb,  comment.rb
in app/models and user_test.rb, post_test.rb,  comment_test.rb in
test/unit.

My metric-fu.rake is:

begin
  require 'metric_fu'
  MetricFu::Configuration.run do |config|
        #define which metrics you want to use
        config.metrics  = [:churn, :saikuro, :stats, :flog, :flay,
:reek, :roodi, :rcov]
        config.graphs   = []
        config.flay     = { :dirs_to_flay => ['app/models', 'test/unit',
'lib']  }
        config.flog     = { :dirs_to_flog => ['app/models', 'test/unit',
'lib']  }
        config.reek     = { :dirs_to_reek => ['app/models', 'test/unit',
'lib']  }
        config.roodi    = { :dirs_to_roodi => ['app/models','test/unit',
'lib']  }
        config.saikuro  = { :output_directory =>
'scratch_directory/saikuro',
                            :input_directory => ['app/models',
'test/unit', 'lib'],
                            :cyclo => "",
                            :filter_cyclo => "0",
                            :warn_cyclo => "5",
                            :error_cyclo => "7",
                            :formater => "text"}
        config.churn    = { :start_date => "1 year ago",
:minimum_churn_count => 10}
        config.rcov[:rcov_opts] << "-Itest"
  end
rescue LoadError
end

and for rails rspec project


begin
  require 'metric_fu'
  MetricFu::Configuration.run do |config|
        #define which metrics you want to use
        config.metrics  = [:churn, :saikuro, :stats, :flog, :flay,
:reek, :roodi, :rcov]
        config.graphs   = []
        config.flay     = { :dirs_to_flay => ['app/models',
'spec/models', 'lib']  }
        config.flog     = { :dirs_to_flog => ['app/models',
'spec/models', 'lib']  }
        config.reek     = { :dirs_to_reek => ['app/models',
'spec/models', 'lib']  }
        config.roodi    = { :dirs_to_roodi =>
['app/models','spec/models', 'lib']  }
        config.saikuro  = { :output_directory =>
'scratch_directory/saikuro',
                            :input_directory => ['app/models',
'spec/models', 'lib'],
                            :cyclo => "",
                            :filter_cyclo => "0",
                            :warn_cyclo => "5",
                            :error_cyclo => "7",
                            :formater => "text"}
        config.churn    = { :start_date => "1 year ago",
:minimum_churn_count => 10}
        config.rcov[:rcov_opts] << "-Itest"    # doens't work too.
  end
rescue LoadError
end

I need to improve this rake file for show more information (and to
include flog and roodi measures).

For me rcov doesn't work  with this default configuration:

config.rcov     = { :test_files => ['test/**/*_test.rb',
                                            'spec/**/*_spec.rb'],
                            :rcov_opts => ["--sort coverage",
                                           "--no-html",
                                           "--text-coverage",
                                           "--no-color",
                                           "--profile",
                                           "--rails",
                                           "--exclude
/gems/,/Library/,spec"]}
Why?

And when I execute rake metrics :all  these errors happen:

(in /home/bruno/workRails/blog_spec)

* master

/usr/local/lib/ruby/gems/1.8/gems/flog-2.1.2/bin/flog:11: undefined
method `flog_files' for #<Flog:0xb7903708> (NoMethodError)

  from /usr/local/bin/flog:19:in `load'

  from /usr/local/bin/flog:19


No file to analyze was found. All the files loaded by rcov matched one
of the

following expressions, and were thus ignored:

[/\A\/usr\/local\/lib/,

 /\btc_[^.]*.rb/,

 /_test\.rb\z/,
  … and blablabla

Can anyone help me with these questions?

Thank's so much, Bruno.
-- 
Posted via http://www.ruby-forum.com/.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to