On Sat, Jan 2, 2010 at 4:50 PM, Rick DeNatale <rick.denat...@gmail.com>wrote:
> On Sat, Jan 2, 2010 at 4:35 PM, David Chelimsky <dchelim...@gmail.com> > wrote: > > > > > > On Sat, Jan 2, 2010 at 3:23 PM, Andrew Premdas <aprem...@gmail.com> > wrote: > >> > >> 2009/12/30 rogerdpack <rogerpack2...@gmail.com> > >>> > >>> > What about something like: > >>> > > >>> > expected #<Class:2158174640> => Fixnum to be a kind of Fixnum > >>> > > >>> > That is more aligned with other failure messages. WDYT? > >>> > >>> I quite like it. > >>> In this instance it was > >>> > >>> 3.class.should be_a Fixnum # fails > >>> > >>> I suppose it would be something like > >>> expected #<Class:Fixnum> => Class to be a kind of Fixnum > >>> > >>> ? > >>> > >>> > And just out of curiosity, Roger, what's your use case? I can't > >>> > remember ever using be_a/be_an, at least not in any code that has > survived. > >>> > >>> The very first test I thought up was "this method should return an > >>> integer" so kind of a basic test for a not yet existent method. > >>> > >> > >> Isn't this a bit anti-ruby though. Surely the things we should be > testing > >> is that the object exists, responds to certain messages and gives > certain > >> values back for those messages. Thinking about types is so Java, C++ :-) > > > > Generally speaking, you're correct, but there are cases where this is > > valuable - like if you're spec'ing a factory in a lib for others to use, > > etc. > > However, I need to point out that > > although > > 1.should be_a Fixnum > > that > > 1.class.should_not be_a Fixnum > > because > > 1.class == Fixnum which is after all a Class, and not a Fixnum itself. > Right - the initial problem that Roger was reporting was that "1.class.should be_a(Fixnum)" produced a failure message wasn't that helpful, not that it failed to fail :)
_______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users