Posso criar um wrapper em torno de NUnit, MbUnit, xUnit ou outra estrutura de teste?
Pergunta
Como posso criar um wrapper em torno de uma estrutura de teste?Ainda não sabemos qual framework de testes usaremos, mas preciso começar a escrever testes unitários.Com esta pergunta quero saber como posso mudar de NUnit para mbUnit, xUnit ou mesmo MSTest.
Solução
Você poderia criar um wrapper - mas acho que pode utilizar seu tempo muito melhor.Eu diria que escolha o mais simples (meu favorito seria o cavalo de guerra NUnit) que atenda às suas necessidades - as estruturas mais recentes adicionam funcionalidades que ajudam você a escrever acessórios de teste mais complexos.
No entanto, valorizo a simplicidade em vez da "flexibilidade".No futuro, se você quiser aquele "recurso interessante X na estrutura de teste Y", poderá escrever esse dispositivo de teste específico usando Y.(você também pode migrar todo o equipamento de teste para usar Y para consistência - mas o tempo é sempre escasso) - No entanto, alternar entre a estrutura de teste de 2 unidades geralmente é um trabalho monótono (renomear atributos). alguns podem dar mais trabalho (isenção de responsabilidade:sem tempo de voo com MbUnit)
Seu comentário, entretanto, me preocupa um pouco.
- Por que o cliente está decidindo a estrutura de teste que você usaria para o desenvolvimento? Deve ser uma escolha da equipe de desenvolvimento.O cliente não gostaria que você definisse os requisitos do produto - gostaria?A qualidade dos testes não depende do framework utilizado, então não vejo como isso afeta o cliente.
Outras dicas
Você pode usar um invólucro existente que permita executar várias estruturas de teste de unidade; portanto, mesmo se você alternar as estruturas, ainda poderá usar os testes de unidade antigos. Para as estruturas de teste de unidade listadas, eu recomendaria dar uma olhada no Gallio.
A partir de http://www.gallio.org/...
Atualmente, a Gallio pode executar testes das versões MBunit 2 e 3, MSTEST, NBEHAVE, NUNIT, XUNIT.NET, CSUNIT e RSPEC. O Gallio fornece suporte e integração de ferramentas com o AutoCAD, CCNET, MSBUILD, NANT, NCOVER, PEX, PowerShell, Resharper, Testdriven.Net, TypeMock e Visual Studio Team System.