DEV Community

Discussion on: TDD is Not for Me

Collapse
 
naomidennis profile image
Naomi Dennis

Very interesting opinions on TDD. Do they change if the project is collaborative? Regardless of possible complications, wouldn't it be better to always push for TDD in that scenario?

Collapse
 
joncalhoun profile image
Jon Calhoun

Requiring tests is very different from requiring TDD. I think collaborative projects can benefit from tests, but I don't think TDD is a necessity at all for that.

Put another way, whenever your teammates check in new code you see both the complete code and the tests all checked in together. Does it really matter to you whether they wrote the tests or the production code first if the overall quality is the same either way?

Collapse
 
naomidennis profile image
Naomi Dennis

I see your point. So, there's a difference between doing general tests and TDD? Would writing general tests use TDD frameworks like RSPEC you just wouldn't follow TDD paradigms, or would it be something different?

Thread Thread
 
joncalhoun profile image
Jon Calhoun

TDD confuses a lot of people because it is often used interchangeably where it shouldn't be. In reality, Test Driven Development is a development process where you write tests BEFORE production code, and there are a few other caveats.

rspec and other tools aren't TDD specific. You can write tests in rspec after writing production code just the same. I used to do it all the time when building ruby apps.

My bigger point here is that you should use TDD when it benefits you, not all the time just because someone told you that you should.