On Jul 30, 2010, at 10:57 AM, Ashley Moran wrote: > > On Jul 30, 2010, at 3:10 pm, David Chelimsky wrote: > >> Maybe that, or a DSL that wraps that, is the better way, so we can get the >> best of both worlds? >> >> shared_examples_for Enumerable do >> require_instance_method :foo, "gotta have foo instance method" >> require_class_method :foo, "gotta have foo class method" >> require_instance_variable "@foo", "gotta have an instance variable named >> @foo" >> it "..." { .. } >> end >> >> Thoughts? > > Actually, I *much* prefer this, as it makes it explicit what the host spec > must provide in order to have the shared behaviour. (Wincent's email has > just popped up so consider this a response to his message too.) I lean > towards making things fail as early and explicitly as possible, as it reduces > the total worldwide developer head-scratching time. > InvalidSharedExampleUsageError("Must provide instance method :foo") or some > such wins for me over NoMethodError("undefined method foo on <#Class ...>"). > There should be no _requirement_ to use this DSL though, so the key would be > to make sure it doesn't muddy the RSpec code. > > This is probably something that could be solved in code quicker than debate. > It's a yak I'm happy to shave before getting back to my own project as it > impacts what I'm working on ... want me to have a look at it this evening, > David? I can fork rspec-core and play around with the idea.
By all means. > Regards > Ash _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users