Perguntas com a marcação «tdd»

TDD significa Desenvolvimento Orientado a Testes ou Design Orientado a Testes. É a prática de escrever um teste de unidade antes de escrever o código para satisfazê-lo, no que é conhecido como o ciclo Vermelho-Verde-Refatorador.

147
Quando você escreve o código "real" no TDD?

Todos os exemplos que li e vi nos vídeos de treinamento têm exemplos simplistas. Mas o que eu não vejo se como faço o código "real" depois de ficar verde. Esta é a parte "Refatorar"? Se eu tiver um objeto bastante complexo com um método complexo, e escrever meu teste e o mínimo necessário para...

139
Existe algo como ter muitos testes de unidade?

Fui encarregado de escrever testes de unidade para um aplicativo existente. Depois de terminar meu primeiro arquivo, tenho 717 linhas de código de teste para 419 linhas de código original. Essa proporção se tornará incontrolável à medida que aumentamos nossa cobertura de código? Minha...

138
Quando é apropriado não realizar o teste de unidade?

Eu trabalho em uma pequena empresa como desenvolvedor solo. Sou o único desenvolvedor da empresa. Tenho vários projetos (relativamente) grandes que escrevi e mantenho regularmente, e nenhum deles tem testes para apoiá-los. Ao iniciar novos projetos, muitas vezes me pergunto se devo tentar uma...

131
TDD vs. Produtividade

No meu projeto atual (um jogo, em C ++), decidi que usaria o Test Driven Development 100% durante o desenvolvimento. Em termos de qualidade do código, isso tem sido ótimo. Meu código nunca foi tão bem projetado ou livre de erros. Não me arrependo ao visualizar o código que escrevi há um ano no...

110
O que é exatamente um teste de integração?

Meus amigos e eu temos lutado para classificar exatamente o que é um teste de integração. Agora, no meu caminho de casa, eu acabei de perceber, que toda vez que tento dar um exemplo do mundo real de um teste de integração, acaba sendo um teste de aceitação, ou seja. algo que uma pessoa de...

104
O TDD torna redundante a programação defensiva?

Hoje tive uma discussão interessante com um colega. Eu sou um programador defensivo. Eu acredito que a regra " uma classe deve garantir que seus objetos tenham um estado válido quando interagidos com fora da classe " deve sempre ser respeitada. O motivo dessa regra é que a classe não sabe quem são...

103
Código testável é melhor código?

Estou tentando adquirir o hábito de escrever testes de unidade regularmente com meu código, mas li que primeiro é importante escrever código testável . Esta pergunta aborda os princípios do SOLID de escrever código testável, mas quero saber se esses princípios de design são benéficos (ou pelo menos...

100
Devo evitar métodos privados se eu executar TDD?

Só agora estou aprendendo TDD. Entendo que os métodos privados não são testáveis ​​e não devem se preocupar, porque a API pública fornecerá informações suficientes para verificar a integridade de um objeto. Eu entendi OOP por um tempo. Entendo que métodos privados tornam os objetos mais...

95
Experiência negativa no TDD [fechada]

Qual é o lado negativo da sua experiência no TDD? Você acha os passos do bebê (a solução mais simples para tornar o teste verde) irritante e inútil? Você acha que a manutenção de testes sem valor (quando o teste tem sentido inicialmente, mas na implementação final verifica a mesma lógica dos outros...

92
Por que o TDD funciona? [fechadas]

O desenvolvimento controlado por teste (TDD) é grande hoje em dia. Costumo vê-lo recomendado como uma solução para uma ampla gama de problemas aqui no Programmers SE e em outros locais. Eu me pergunto por que isso funciona. Do ponto de vista da engenharia, isso me intriga por duas razões: A...

88
O que são as escolas de TDD em Londres e Chicago?

Eu tenho ouvido falar sobre o estilo de Londres versus o estilo de Chicago (às vezes chamado de estilo Detroit) do Test Driven Development (TDD). Workshop do grupo de usuários de programação extrema de Utah: O TDD no estilo de interação também é chamado de estilo mockista , ou estilo de...

68
Escrevendo testes para código existente

Suponha que um deles tenha um programa relativamente grande (digamos, 900k SLOC em C #), todos comentados / documentados minuciosamente, bem organizados e funcionando bem. Toda a base de código foi escrita por um único desenvolvedor sênior que não está mais na empresa. Todo o código é testável como...