Do you want to write tests, but you have no clue of how to start?
When you are building something… Do you feel that you know how to do it, but you don’t know what to test?
Do you feel that you understand the whys of it, but every time you try to build an app TDD, you just freeze up?
Your tests are so slow, that you prefer not to write more of them?
Did you start a project using TDD, testing everything from the database to the routing, but you end feeling that it was too hard?
Do you feel that you are spending much more time testing that writing functionality?
But shouldn’t TDD help you, instead of giving you more problems?
It suppose to help you…
- To reduce the scope creep, with no more just in case code.
- To write loosely coupled, highly cohesive code guiding you on the design.
- To increase trust, by demonstrating your intentions.
- To give you rythm… test, code, refactor… test, code, refactor…
So why aren’t you getting this results?
I don’t know!!… it could be many things like…
- Writing code that is very coupled to your tools or frameworks.
- Not defining the boundaries of the system clearly.
- Trying to write code with multiple responsabilities.
- Writing the production code first.
- Testing every class, without defining an interface to access them.
- Testing the framework and not your code.
And then… what can you do?
Building software is hard!… And I know that TDD can help you build better software and enjoy the journey!
You can do many things about it, but I want to help you with one…
… I am working on a tutorial to show you how you can build an app using a tests first approach, to let you find the patterns that you need, an let you take what you think is valuable for you.
We are going to build an app using the ruby programming language and the rspec testing framework. We will start with a blank file, to later have an app that we will deliver to the web using Sinatra and Rails.
So… If you want to learn a some TDD, you can signup in the next form to get early access and discounts =)
Thanks for reading,
Software Developer & Writer of Spec by Spec