[rspec-devel] [ANN] RSpec 0.9.1 released

Brian Takita brian.takita at gmail.com
Sat May 5 21:03:53 EDT 2007


On 5/5/07, Chad Woolley <chad at pivotalsf.com> wrote:
>
> On 5/5/07, Brian Takita <brian.takita at gmail.com> wrote:
> > On 5/4/07, Ian McFarland <ian at pivotallabs.com> wrote:
> > > Also, with the new syntax, how do we describe more about our context,
> > things like:
> > >
> > > spec "partially initialized User object" do
> > >    should "fail validation" do
> > >       #things
> > >    end
> > > end
> >
> > Thats interesting. I'm not sure if "should" has been brought up. It has
> a
> > nice orthoginal quality to it.
>
> I don't think it would work.  The current keywords, specify or it,
> leave the choice of the "specification" verb up to the user.  It could
> be "shall", "should", "may", or "can".
>
> In fact, these terms have specific meaning in formal specifications
> such as IEEE (section 13.1):
>
> http://standards.ieee.org/guides/style/section5.html
>
> That's one reason I don't really get the guy's link you sent that was
> the supposed justification for the wording change:
>
> http://www.testing.com/cgi-bin/blog/2006/04/12#spec-vs-example
>
> I've read that three times, but I still don't get it.  Maybe because
> I'm not a math geek, and in fact was never that good at math at all.
>
> However, I do understand english pretty well, and I think that if I
> write a spec that says "should", that doesn't have to represent the
> entire specification for my app.  It represents one facet of it.
> Again, the IEEE standards language supports this:
>
> "The word should is used to indicate that among several possibilities
> one is recommended as particularly suitable, without mentioning or
> excluding others"
>
> It doesn't say "the word 'should' is used to represent a mathematical
> equation that leaves absolutely no ambiguity."
>
> And that's coming from Engineers, who ARE math geeks...


I think the following quote is the gist of the terminology change:

> Still, it creeps me out when people refer to tests (aka examples<http://www.testing.com/cgi-bin/blog/2003/08/22#agile-testing-project-2>)
> as specifications. There's an important distinction:
>
> A specification *describes* a correct program, while a test *provokes* a
> correct program.
>
> That's why example are used instead of specifications. So maybe the
question now is why is example better than test?
Also, why is 'describe' replacing 'context'? The quote implies we don't want
to describe software, but provoke the correct software.

> > Also, is the old syntax supported still? Or is migrating to the new
> > version a matter of reopening every spec file we've ever written?
> >
> > The old syntax is still supported. There has not been talk of
> deprecating it
> > either, and I'll fight it if there is :)
> >
>
> I actually think that's worse in the long run.  They should decide on
> one and switch to it exclusively.  Having two supported styles will
> just confuse newbies (and oldies), and result in specs (err, examples)
> that use an ugly and inconsistent mix of both styles, as well as
> arguments over which is better (like this one, for example!)
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://rubyforge.org/pipermail/rspec-devel/attachments/20070505/5ed0a769/attachment.html 


More information about the rspec-devel mailing list