Ho familiarità con i concetti (ho preso lezioni di test al college), ma non sono sicuro di come usarli davvero poiché non ho mai lavorato su un "vero" progetto TDD.
Sto per iniziare lo sviluppo di un progetto usando Ruby on Rails (molto probabilmente usando 2.3). Questa applicazione verrà utilizzata per gestire dati, utenti e alcuni file. All'inizio non sarà troppo complicato, ma potrebbe ridimensionarsi molto nei prossimi 6 mesi, quindi penso che sia il momento giusto per approfondire il TDD.
Ho un'idea di base su come farlo, ma ho ancora bisogno di alcuni suggerimenti e consigli:
Quale articolo di Ruby on Rails TDD 101 dovrei leggere?
Cosa devo testare?
Quale gemma / plugin dovrei usare?
Dovrei usare rspec ? Qualcos'altro?
Una volta che ho avuto tutte le mie lezioni di test, come faccio a distribuirle? (ad esempio: integrazione continua)
Quanto è veramente lungo il TDD?
Devo leggere un libro su questo o posso ottenere tutto semplicemente giocando con esso e leggendo tutorial online? Se devo leggere un libro, quale libro?
Mi piace imparare con esempi, quindi qualcuno potrebbe dirmi come andrei e adottare un approccio TDD per risolvere questo problema:
Ho delle aziende. Ho dei contatti. Un contatto può essere collegato a 1 azienda. Una società può avere più contatti. Voglio creare modi per creare contatti, aziende e collegare i contatti alle aziende.
Non è necessario utilizzare questo esempio nella risposta ma sarebbe utile :)