On Wed, Dec 31, 2008 at 5:02 PM, David Chelimsky <[email protected]>wrote:
> On Wed, Dec 31, 2008 at 9:49 AM, aslak hellesoy > <[email protected]> wrote: > > > > > > On Wed, Dec 31, 2008 at 4:21 PM, David Chelimsky <[email protected]> > > wrote: > >> > >> On Wed, Dec 31, 2008 at 8:00 AM, Nasir Jamal <[email protected]> > wrote: > >> > Hi, > >> > > >> > I am a rspec newbie, can anyone guide me on how to write a spec for > the > >> > below helper. > >> > > >> > module MyHelper > >> > def test > >> > link_to('MyLink', resources_path) if @categories || @sub_categories > >> > end > >> > end > >> > > >> > @categories is an instance of Category model > >> > @sub_categories is an instance of SubCategory model > >> > >> Take a look at > http://rspec.info/documentation/rails/writing/helpers.html. > >> You can use assigns[:categories] and assigns[:sub_categories] to make > >> the necessary data available to the helper. > > > > Technically you can do it that way, but personally I don't recommend that > > approach in most cases. Testing modules is similar to testing private > > methods, and the general advice is: Don't do it. > > > > Instead, test module methods and private methods indirectly via the > > class/object that uses them. For modules this means: Write a spec for a > > class that includes the module (in Rails this is a controller or view). > > So do you recommend never doing helper specs? I never said never :-) Here is my manifesto styled take on this: "I favour testing directly accessible APIs over indirectly accessible ones." In Rails, I usually try to write a spec against a controller or view before I resort to a helper spec. Aslak > > > > > Aslak > > > >> > >> HTH, > >> David > >> > >> > > >> > > >> > > >> > > >> > _______________________________________________ > >> > rspec-users mailing list > >> > [email protected] > >> > http://rubyforge.org/mailman/listinfo/rspec-users > >> > > >> _______________________________________________ > >> rspec-users mailing list > >> [email protected] > >> http://rubyforge.org/mailman/listinfo/rspec-users > > > > > > _______________________________________________ > > rspec-users mailing list > > [email protected] > > http://rubyforge.org/mailman/listinfo/rspec-users > > > _______________________________________________ > rspec-users mailing list > [email protected] > http://rubyforge.org/mailman/listinfo/rspec-users >
_______________________________________________ rspec-users mailing list [email protected] http://rubyforge.org/mailman/listinfo/rspec-users
