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

aslak hellesoy aslak.hellesoy at gmail.com
Thu Jan 29 15:04:34 EST 2009


On Thu, Jan 29, 2009 at 8:18 PM, David Chelimsky <dchelimsky at gmail.com> wrote:
>
>
> 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 ????
>

uh crap. strike last remark

>>
>> >>
>> >> 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
>
>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>



-- 
Aslak (::)


More information about the rspec-users mailing list