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 :)
fonte
Eu produzi uma série de vídeos de 6 episódios que foi ministrada como uma aula pública em São Francisco no verão de 2010. O material cobre testes e eficiência do desenvolvedor no Rails 2.3 usando o RSpec 1.3. Ligeiramente datado, mas os principais conceitos se aplicam ao Rails 3 com Rspec 2.x
http://www.rubyfocus.biz/class_video/2010/07/19/19/rails_tdd_class_1.html
fonte
Eu recomendo este livro: Tutorial do Ruby on Rails . Estou quase terminando. O livro usa TDD o livro inteiro . De uma chance!
fonte
Eu recomendo este livro: Desenvolvimento Agile Web com Rails
fonte
TDD é tudo sobre como escrever testes primeiro. Isso basicamente obriga a escrever seu próprio cliente antes de escrever o código do aplicativo. O ciclo geralmente é escrever um teste para uma API que não existe, executar o teste esperando que falhe, escrever seu código de API, executar seu teste novamente e garantir que ele seja aprovado. Então escreva seu próximo teste ... e assim por diante.
Você também pode estar interessado neste guia do Rails .
fonte
Eu uso :
fonte
Eu sempre gostei de deveria .
A razão pela qual sempre favoreci o desenvolvimento do TDD é que ele se concentra em como implementarei um trecho de código específico. Tenho uma sensação anedótica de que, sempre que aderir mais fortemente aos princípios do TDD, passo menos tempo retrabalhando depois. A quantidade de tempo gasto está em quão bem você escreve testes de unidade. Se os testes de unidade não capturarem o comportamento esperado, todo o tempo gasto neles será desperdiçado.
fonte