Pergunta

Qual é um exemplo real de qualidade de TDD em ação?Quais projetos de código aberto de pequeno a médio porte em .net existem que mostram as melhores práticas em TDD e podem funcionar como referência para fazer o TDD corretamente?


Estou procurando mais um exemplo de projeto(s) vivo(s) que sirva(m) como um bom exemplo de TDD.Algo que complementasse os livros e referências que explicam e demonstram o processo isoladamente.

Algo que seria útil para um desenvolvedor aspirante que deseja passar de praticante iniciante/intermediário de TDD...

Foi útil?

Solução

Aqui estão alguns exemplos:

  • NUunidade
  • CodeCampServer Qualquer um dos
  • Ferramentas Rhino da Ayende (por ex.Simulações de Rinoceronte)
  • ASP.NET MVC
  • Cuyahoga (sistema CMS)
  • Fluente NHibernate

Outras dicas

Isso pode ou não ser o que você procura, mas a MS Enterprise Library possui um conjunto completo de testes de unidade (NUnit) como parte da distribuição do código-fonte, eu consideraria isso um mundo bastante real.

Kevin

TDD é um processo que acontece principalmente entre commits no repositório.

Ao observar projetos de código aberto, você verá apenas instantâneos do código obtidos quando um desenvolvedor se compromete.

Não deve haver nenhuma diferença prática entre os commits feitos por um desenvolvedor que faz um bom design e implementa muitos testes unitários e um bom desenvolvedor que pratica TDD.A diferença é que o processo TDD pressiona o desenvolvedor para fazer um design limpo e implementar muitos testes unitários.

Observar um projeto de código aberto orientado a testes permitirá apenas que você veja o resultado do processo TDD, e não como ser orientado a testes.

Para realmente aprender, você realmente precisa assistir alguém fazendo TDD.Um livro pode ajudar, mas é difícil mostrar o processo num livro.É muito melhor ver isso feito em tempo real.A melhor maneira seria programar em par com alguém que seja orientado a testes.A segunda melhor opção seria uma demonstração ao vivo em uma conferência ou reunião - talvez você tenha um grupo de usuários local?

Caso contrário, existem algumas demonstrações em vídeo online.Aqui estão dois:

Se você está pesquisando isso para uso pessoal do TDD, não acho que navegar em outros projetos realmente o ajudará.Em vez disso, você deve mergulhar e simplesmente fazer isso e aprender à medida que avança.

Para começar, confira Este artigo sobre testes e como começar, e este livro sobre TDD por Kent Beck (muito simples, fácil de entender e esclarecedor).

Eu mesmo não assisti a todos os webcasts, então não posso atestar quão bem Rob Conery implementou o TDD, mas seu Série MVC Storefront deveria estar usando TDD.

Ron Jeffries tem muitos artigos bons sobre xprogramming. com.Se você estiver fazendo C#, procure por "Aventuras em C#".Ou compre o livro.

Seu estilo de escrita cobre a maioria dos aspectos do TDD, até mesmo os caminhos errados que estamos destinados a tomar.Aprendi muitos de seus artigos ao longo dos anos, mesmo aqueles sobre línguas mais exóticas.

Eu repetiria o comentário de Rasmus sobre ser mais útil assistir alguém fazendo TDD.Dois recursos que considero realmente úteis:

  1. James Shore tem uma série de vídeos no YouTube onde ele constrói um pequeno software do zero usando TDD e registrando cada etapa do processo.Na minha opinião, isso deveria ser obrigatório para quem está pensando em começar com TDD, só descobri isso recentemente e estou surpreso que não tenha mais exposição.São 120 vídeos de 15 minutos – é MUITO material.

  2. Derek Greer, da Los Techies, uma série de postagens caminhando pela criação de um jogo básico de jogo da velha.Isso também é muito bom, mas obviamente não é tão aprofundado quanto o recurso anterior.Eu recomendo isso se você não tiver muito tempo.

Cerca de uma semana atrás, IT Conversations postou uma palestra muito interessante proferida por Kent Beck que enfocou TDD (mas também abordou padrões e programação extrema).Nada 'substancial' no que diz respeito a instruções detalhadas sobre TDD, mas informativo de qualquer maneira.Definitivamente vale a pena ouvir se você estiver aprimorando suas habilidades em TDD.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top