Parece-me que todo mundo usa o NUnit sem sequer considerar as outras opções. Eu acho que isso é porque:
- Todo mundo já está familiarizado com isso, então eles não terão que aprender uma nova API.
- Já está configurado com o servidor de integração contínua para trabalhar com o NUnit.
Estou errado sobre isso?
Decidi usar o xUnit em um dos meus próprios projetos recentemente e adoro! Faz muito mais sentido para mim e, conceitualmente, parece um passo definitivo da NUnit.
Eu gostaria de ouvir opiniões sobre qual estrutura é realmente a melhor - sem levar em consideração a necessidade de aprendê-la ou reconfigurar seu teste automatizado.
.net
unit-testing
frameworks
nunit
xunit
Ninguém
fonte
fonte
Respostas:
MSTest
Eu pessoalmente uso o MSTest. O NUnit é muito bom, mas no VS2010, o MSTest já está totalmente integrado ao IDE e existem modelos de projeto completos para ele. Para o .NET, se você estiver usando o 2010, acho que o MSTest é o caminho a seguir (o MSTest no VS2008 não acho que esteja em pé de igualdade) simplesmente pela cobertura do código, pelo executor de testes e por outras ferramentas disponíveis. sai da caixa. (Se você usa o CodeRush ou o R #, eles têm excelentes ferramentas / corredores de teste para outras estruturas de teste)
Edit: Eu já mudei para o XUnit. : D
fonte
Comecei a usar o Gallio / MbUnit há vários anos. E os recursos e jóias que ele fornece são tão poderosos que nunca me arrependi da minha escolha. De fato, agora faço parte da equipe de desenvolvimento do projeto Gallio OSS; para que eu possa contribuir para torná-lo ainda mais incrível.
O wiki é certamente um bom ponto de partida para descobrir o Gallio e o MbUnit v3. Ainda falta alguns capítulos, mas já é bastante útil.
fonte
Escolher um e usá-lo é talvez o passo mais importante aqui.
Pessoalmente, eu escolheria o NUnit por alguns motivos. Primeiro e acima de tudo, é o suporte de ferramentas. Há um suplemento gratuito para o Visual Studio 2010 e todos os principais plug-ins de terceiros são compatíveis. Todos os sistemas de compilação, utilitários de cobertura de teste e servidores de CI são compatíveis. Em muitos casos, sem um plugin. No nível do código, ele pode lidar com praticamente qualquer cenário neste momento - testes orientados a dados, herança, classes de teste abstratas, classes de teste genéricas, configuração, desmontagem etc. Até certo ponto, temos o xUnit porque o NUnit ficou muito rico em recursos e poderoso.
Além da NUnit, acho que você poderia argumentar bastante bem sobre o MBUnit + Gallio, como mencionado por Yann - é uma estrutura muito sólida. O que você deve evitar, se possível, seria o MSTest, que possui algumas falhas fatais no IMHO. Falhas são algumas das restrições em suas classes de teste, como nenhuma herança e dependências de SKUs profissionais ou melhores do visual studio. Incluindo a necessidade de instalação do visual studio no servidor de compilação para executar os testes.
fonte
O único motivo é NUNIT se tornar mais padrão do setor que xUnit. Mas, pessoalmente, eu amo xunit.
fonte