Eu estou familiarizado com os conceitos (fiz aulas de teste na faculdade), mas ainda não sei como usá-los, pois nunca trabalhei em um projeto TDD "real".
Estou prestes a iniciar o desenvolvimento de um projeto usando Ruby on Rails (provavelmente usando 2.3). Esta aplicação será usada para gerenciar dados, usuários e alguns arquivos. Não vai ser muito complicado no começo, mas pode escalar muito nos próximos 6 meses, então acho que este é o momento certo para aprofundar o TDD.
Eu tenho uma idéia básica de como fazê-lo, mas ainda preciso de algumas dicas e conselhos:
Que artigo sobre Ruby on Rails TDD 101 devo ler?
O que eu preciso para testar?
Qual jóia / plugin devo usar?
Devo usar o rspec ? Algo mais?
Depois de obter todas as minhas aulas de teste, como as implanto? (por exemplo: integração contínua)
Quanto tempo realmente consome TDD?
Preciso ler um livro sobre isso ou posso obter tudo apenas brincando com ele e lendo os tutoriais on-line? Se eu precisar ler um livro, que livro?
Eu gosto de aprender com exemplos. Alguém poderia me dizer como eu adotaria uma abordagem TDD para resolver esse problema:
Eu tenho empresas. Eu tenho contatos. Um contato pode ser vinculado a 1 empresa. Uma empresa pode ter vários contatos. Quero criar maneiras de criar contatos, empresas e vincular contatos a empresas.
Você não precisa usar este exemplo na sua resposta, mas ajudaria :)