[rspec-users] simple == with prettier error messages + good documentation

David Chelimsky dchelimsky at gmail.com
Thu Jan 29 14:18:29 EST 2009


On Thu, Jan 29, 2009 at 1:02 PM, aslak hellesoy <aslak.hellesoy at gmail.com>wrote:

> On Thu, Jan 29, 2009 at 7:25 PM, David Chelimsky <dchelimsky at gmail.com>
> wrote:
> >
> >
> > On Thu, Jan 29, 2009 at 12:00 PM, <r_j_h_box-sf at yahoo.com> wrote:
> >>
> >> Hi all,
> >>
> >> I've found myself writing a thing I think is less than optimal, looking
> >> for suggestions.  The context is, I'm testing a result, and as a part of
> >> that test, I might verify two or three things, which are individually
> >> relevant but not really discrete results (?).
> >>
> >> Here's my thinking process, using a toy example:
> >>
> >>   foo.should == bar (or foo.should_not be_nil)
> >>
> >> > expected not to be nil, but was
> >>
> >> (hm, not very informative)
> >>
> >>   if( foo == nil )
> >>     "failure to setup foo".should == "foo should be set to the thing
> that
> >> will be rendered"
> >>   end
> >>
> >> > expected "foo should be set to the thing that will be rendered",
> >> > got "failure to setup foo" (using ==)
> >>
> >> I've used this, by example, for a test on a dependency (imagemagick),
> >> where if the dependency isn't found, I show a decent message with info
> the
> >> tester can use to resolve it.  And, as I mentioned, I've used it for
> >> revealing more details in cases where the it "" + the generic error
> aren't
> >> informative.
> >>
> >> I'm satisfied using this method for things like detecting a failure to
> use
> >> a test-helper correctly - works fine, doesn't get in my way as part of
> the
> >> documentation.  Which brings me to the problem I'm concerned about:
> >>
> >> With this method, nothing come out in the generated spec-docs to
> represent
> >> the thing I'm conditionally requiring.
> >>
> >> I guess I could get more fine-grained with my it()'s, but I've been
> >> preferring a more general statement for it(), that gives the sense
> without
> >> the detail.
> >>
> >> Any suggestions?
> >
> > I can't think of anything that wouldn't result in something that requires
> > more writing as of now. Maybe we need a new construct like:
> > it "does something" do
> >   with_message "this is a more specific message" do
> >     foo.should == bar
> >   end
> > end
> > WDYT?
> >
>
> I think that would be useful. Maybe make it more explicit that it's an
> error message:
>
> on_error "bla" do
>  ...
> end


on_failure "..." do ????


>
>
> >>
> >> Thanks,
> >>
> >> Randy
> >>
> >>
> >> _______________________________________________
> >> rspec-users mailing list
> >> rspec-users at rubyforge.org
> >> http://rubyforge.org/mailman/listinfo/rspec-users
> >
> >
> > _______________________________________________
> > rspec-users mailing list
> > rspec-users at rubyforge.org
> > http://rubyforge.org/mailman/listinfo/rspec-users
> >
>
>
>
> --
> Aslak (::)
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20090129/d1e2adf2/attachment.html>


More information about the rspec-users mailing list