I totally agree with the ''listening to your specs" concepts and always divide my code into small methods easier to spec. Now let me get you right, here's my code :
class Survey < ActiveRecord::Base has_many :participants ... def generate_reports ... sub_total = sub_total(participants.reports) ... end protected def sub_total(reports) sub_total = 0 reports.collect do |report| sub_total = sub_total + report.score end return sub_total end end I m already specing the "generate_reports" methods with a mock on "sub_total", but I would also like to spec that method. I've put this method into protected because it doesn't make sens to call it from outside this class. But you're arguing that I should put that method into a lib ? I m not sure it would make sense as this method is very specific to that class, and would actually be easy to spec. Except that it's not possible to call a protected method from a spec as far as I know, correct me if I m wrong. (I maybe didn't explain my problem well in the first place) Regards -- Bastien On Oct 23, 12:37 pm, Matt Wynne <[EMAIL PROTECTED]> wrote: > On 23 Oct 2008, at 10:16, Bastien wrote: > > > Hi everyone, > > Do anyone know if there's a way to spec protected methods ? > > Thanks in advance > > Sorry if this sounds preachy, but I would always advise you to factor > out the code in the method into another class, then test that class. > > If the behaviour of the method is so complex you need to test it on > it's own, it deserves to be in a class all by itself. > > This is what we call, 'listening to your specs' - if it's hard to > spec, you've probably got the design wrong. > > HTH, > Matt > _______________________________________________ > rspec-users mailing list > [EMAIL PROTECTED]://rubyforge.org/mailman/listinfo/rspec-users _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users