Earlier quoted context omitted.
In my experience, executable specs are much more useful than their non-executable brethren. They prove their own correctness, and can't gloss over important details.
> They prove their own correctness, and can't gloss over important details. They most certainly don't, do either of those things. You can still have incorrect, incomplete specs even with an executable test suite. You only get those properties through constant work. The idea behind TDD is to do that as you develop the application, but even then you're not automatically saved from incorrectness and incompleteness. The…
I think something like RubySpec is fantastic, and that it's really too bad that, perhaps only because of personality conflicts with the maintainer, it hasn't been successful at standardizing behavior across ruby implementations.