On Jan 23, 2007, at 6:10 PM, Joe Van Dyk wrote:

> On 1/19/07, James Edward Gray II <james / grayproductions.net> wrote:
>> On Jan 19, 2007, at 6:55 PM, Sam Smoot wrote:
>>
>> > The problem is a lot of people don't do TDD right, and the
>> > semantics of
>> > it raise the barrier to entry.
>>
>> Yes.  This has always bothered me about the zentest tool.  I love
>> many of the tools in that package, but the zentest tool seems to
>> encourage bad testing habits.  The video linked to earlier in the
>> thread explains why.
>
> What's wrong with zentest, specifically?

You will probably understand better by watching the movie, but  
zentest encourages you to make a test case for each class and a test  
method for each method.  BDD teaches that these decisions are pretty  
arbitrary.

The true goal of testing is to test the "behaviors" of your object.   
If that means interacting with five methods or just one possible call  
sequence of a method that has several, that's what you should really  
be testing.  What do if you need to work with two classes at one to  
test something?

This class and method organization is also encourages you to use so- 
so names for your tests at best.  If you have a Calendar class and a  
TestCalendar, that's pretty much saying the same thing twice (a  
violation of DRY) and it doesn't tell you much.  BDD encourages you  
to actually express what you are testing with your naming.  This  
really helps you focus on the goal of the process and is much less  
arbitrary.

There you have it, in my own words.  Just to be clear, the above is  
my opinion through and through.  I do not speak for the zentest or  
BDD teams.

James Edward Gray II