Pergunta

Se alguém criou um pequeno diagnóstico, aplicação web interna que utiliza testes (unidade) como sua lógica, há sempre uma razão válida para fazer isso? Tenha em mente que Nunit tem de ser implantado, bem onde quer que este site vai.

Eu sou da opinião de que os programas devem conter a sua própria lógica e possivelmente partes reutilizáveis ??(se disponível), mas não envolvê-testes para a sua lógica. Testes servem o propósito de validação para a lógica de código. Se você do que os testes digamos vão ser lógica de código, não deve você precisa para testes de gravação para validar os testes? Por que isso é fundamentalmente errado?

Dica: (?). Porque agora você está amarrando todos esses testes em conjunto e relacionando-os, o que significa que eles não são mais dependentes

Foi útil?

Solução

Usando um framework de teste unitário para algo mais do que testes de unidade geralmente não é o caminho mais adequado. Você não tem a testes de gravação para os testes de unidade, desde que você escrevê-los em primeiro lugar e vê-los falhar. É assim que você sabe que ele está funcionando corretamente. Eu estou supondo código de teste escrito dentro de uma estrutura de teste de unidade não é trivial, e se eu tivesse um diagnóstico app para uma peça fundamental de software, eu realmente gostaria de ter certeza de que funcionou como deveria.

Edit: Parece que você já fez a sua mente, mas precisam de apoio em expressar que a estratégia atual é menor do que o ideal para, talvez, outros membros do projeto. Se for esse o caso, eu sugiro que você coloque o seu código onde está a boca, e jogar juntos um aplicativo de amostra pequena concebidos de forma diferente. Se utilizar um quadro de teste de unidade, neste caso específico foi uma decisão de design ruim, então que deixaria claro como a luz do sol.

Outras dicas

Eu tenho certeza que se você olhar para esta questão TDD Anti-padrões catalogar , você vai achar que você está cometendo Sever anti-padrões.

Code é um código. Só porque ele é rotulado como um teste não significa que não é também uma aplicação útil.

Suponha que precisamos escrever um monte de verificações de nosso comportamento. Por que está usando framework de teste uma má idéia? Shoudl nós em vez escrever um novo quadro com função idêntica e chamá-lo de algo diferente?

Tome uma visão externa. Este applciation pretende fazer certas coisas. Será que fazê-las corretamente? de forma confiável? ele pode ser mantida, reforçada? Entendido?

Se assim for, por que você se importa que ele passa a usar um framework de teste na sua implementação. Se o seu comportamento ou estrutura são defeituosos seguida, nós criticamos.

Um lindo coisa sobre grande tecnologia é que ela tem aplicações inesperadas.

O objetivo do teste de unidade é para se certificar de sua classe funciona da maneira que deveria, e de acordo com a interface. Então, se você estiver usando os testes de unidade para algum aplicativo de teste parece que usando assert na lógica programm.

Se você precisar de algum aplicativo de teste - implementá-lo e usar com testes de unidade. É talvez para configurar algo ou para obter alguma interação do usuário.

Uma das outras razões que eu vejo - teste de unidade são escritos de acordo com suposições sobre como tudo funciona. Se o seu pressuposto é testes de direito deve passar. Ao adicionar testes de unidade de funcionalidade que você se sentir confiante de que todos os pressupostos ainda estão lá. Assim, cada teste deve ser mantido tão simples como você pode mantê-la. Isso é porque não há necessidade de código de teste de teste e não há necessidade de usar o teste de código em todas as aplicações de teste.

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