On 30 Oct 2008, at 13:46, David Chelimsky wrote:

I'd agree with this (in spite of my previous comments), and add to it.

One of the benefits of writing examples is that they actually help to
expose things that are growing complex. If it's hard to test, it's
probably hard to change.

Aslak made a good point earlier this thread with "don't write specs
just cuz," but perhaps this fact is sufficient "cuz" to motivate.


Hmm, I just tried to map the benefit you get from specs in three key areas:

(read as <column header> <value> <row header> eg
 Specs very helpful for Good Design)

                       Specs            |      No specs
------------------------------------------------------------
Good Design         very helpful for         discourages
Documentation        somewhat help[1]       no effect on[2]
Regression Testing  marginally help[3]      no effect on[2]

[1] but Cucumber is better?
[2] given Cucumber features and simple controllers
[3] they don't detect most real breakages

Just my opinion of course. But makes me think that David is right to ask "Is it true we should write controller specs cuz they highlight excess complexity?" I personally think that's the only way they provide real value, given they are at the surface of the app and therefore hit directly by Cucumber.

But then, the longer I do BDD, the smaller my all classes have become, and the more the value of unit specs have shifted from regression testing to design. (I'm starting to think I need more RSpec mini- integration examples, rather than doing everything on a class-by-class basis.) So maybe the conclusion above is not controller-specific at all.

Ashley


--
http://www.patchspace.co.uk/
http://aviewfromafar.net/



_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to