[Rspec-devel] Given,Then,When

David Chelimsky dchelimsky at gmail.com
Thu Aug 10 23:48:56 EDT 2006

On 8/10/06, Lachie <lachiec at gmail.com> wrote:
> > My two cents as an rSpec user: I'd just like the
> > framework to be stable soon. If I were confident that the specs I
> > write now will be useful for the life of my project, I'd probably stop
> > using test:unit altogether.
> +1000
> For example, dropping dots between releases is a huge pain for me. In
> our current project I chose dots because of the uncertainty of using
> underscores in rails. Now there's 279/453 expectations to fix :(

While I appreciate your frustration, this was going to happen sooner
or later. Users have overwhelmingly expressed a preference for
underscores. Removing support for dots helped us move towards a
smaller and cleaner code base.

> Sorry, its turned into something of a rant.

It happens. ;)

> I have the freedom to use whatever I want, but I'm trying to drag
> others along who are resistant to BDD (or even TDD). Although I
> understand the reason behind things changing (and the pain of
> premature legacy), the changes seems arbitrary to these people. The
> dragging is becoming more and more difficult with each change to
> RSpec.

I like your use of "premature legacy".

I can assure you that we have no intention of flipping things around
all the time. We, too, want to stabilize the API, but we want to do it
in a way that is consistent w/ a long term vision.

> Perhaps the core guys should bite the bullet and plan a 1.0 roadmap.

That's a good idea. I can tell you that we're all quite busy right
now, so it's going to be a few weeks before we can even really discuss
what that means in detail. Please bear with us.

> Although I'm really interested in where RSpec will end up, the main
> thing I use it for is as a Test::Unit replacement. Its a means to an
> end at my 9-5 job, producing apps entirely orthogonal to RSpec and its
> philosophy.
> RSpec is in use *as is*, and its making many people happier. In other
> words, it may not yet have achieved BDD nirvana, but its already
> playing a very important role as exists now.

That's great to hear, and something we'll definitely consider as we
press forward.

> The thing is, RSpec is so much better and more rubyish that I could
> see it replacing test::unit as the xDD of choice for ruby apps -- but
> it would need some stabilisation and some Rails-style marketing.
> What about providing new functionality/facilities without removing the
> existing ones?
> The Given,When,Then stuff sounds great, but if specify just becomes
> "unsupported" like dots, I will cry.

We can't let that happen without at least supplying some tissues.

One thing I've been thinking about is separating out the different
APIs so people can use them in different contexts. For example, the
expectation API could be its own gem, and then you could use it with
test/unit if you wanted to.

With that in mind, perhaps there is a spec API that lives on
separately from the Given/Then/When API. I'm not sure what that looks
like yet, so give it time. Let's just say for now that your concern is
duly noted and won't be disregarded.

> I realise that accruing legacy cruft is something you want to avoid
> this early. Perhaps if you worked towards a 1.0, it would give us
> users the stability we want, while giving you a place to experiment
> with future directions (2.x), backporting when appropriate.
> sorry again for the frustration apparent in this post...
> I really do love RSpec and thank you all for the work you've done on it :)

Thanks for saying so, and thanks for your contributions.


> Lachie
> _______________________________________________
> Rspec-devel mailing list
> Rspec-devel at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-devel

More information about the Rspec-devel mailing list