I am familiar with the concepts (took testing classes in college), but I am not sure how to really use them yet since I never worked on a "real" TDD project.
I am about to start the development of a project using Ruby on Rails (most likely using 2.3). This application will be used to manage data, users and some files. It won't be too complicated at first but might scale a lot in the next 6 months so I feel this is the right time to get more into TDD.
I've got a basic idea on how to do it, but I still need some pointers and advices:
What Ruby on Rails TDD 101 article should I read?
What do I need to test?
What gem/plugin should I use?
Should I use rspec? Something else?
Once I've got all my testing classes, how do I go and deploy them?
How time consuming TDD really is?
Do I need to read a book about this or can I get everything just by playing around with it and reading online tutorials? If I need to read a book, what book?
I like learning with examples so could someone tell me how I would go and take a TDD approach to solve this issue:
I have Companies. I have Contacts. A contact can be linked to 1 company. A company can have multiple contacts. I want to create ways to create contacts, companies and link contacts to companies.
You don't have to use this example in your answer but it would help :)