Pergunta

Voltando um pouco mais ao .NET depois de alguns anos sem usá-lo em tempo integral e me perguntando quais são os bons pacotes de testes de unidade atualmente.

Estou familiarizado com o NUnit (alguns anos atrás) e brinquei brevemente com o IronRuby, com o objetivo de fazer algo como o rspec funcionar, mas não sei muito além disso.

Sei que poderia pesquisar isso no Google e encerrar o dia, mas acredito que provavelmente obterei uma resposta melhor e mais informada fazendo uma pergunta aqui :-)

Sugestões?

Foi útil?

Solução

São tantos que é uma loucura.Muito bom, eu acho.

  • Para os tipos conservadores (eu), NUunidade ainda está disponível e ainda mais do que capaz.
  • Para os tipos da Microsoft, MSTest é adequado, mas lento e desajeitado comparado ao Nunit.Ele também carece de cobertura de código sem pagar muito dinheiro pelas versões caras do Visual Studio.
  • Há também Unidade Mb.É como o NUnit, mas possui recursos interessantes como RowTest (executa o mesmo teste com parâmetros diferentes) e Rollback (coloca o banco de dados de volta como você o encontrou após um teste)
  • E finalmente, xUnit.net é a opção trendy com alguma atitude.
  • Óh, e TestDriven.NET lhe dará integração IDE para Nunit e MBunit.

Tenho certeza de que estão todos bem.Eu evitaria o MSTest, a menos que você aproveite a conveniência de ter tudo em um IDE pronto para uso.

Scott Hanselman tem um podcast sobre esse mesmo assunto.

Outras dicas

Usamos NUnit e Unidade MB aqui.Nós usamos TestDriven.NET para executar os testes de unidade no Visual Studio.Usamos o excelente e altamente recomendado Rinocerontes como uma estrutura simulada.

Atenha-se ao NUnit.Não chegue perto do MSTest.

É uma alegria absoluta trabalhar com NUnit + ReSharper.

Eu costumava usar NUnit, mas agora costumo usar MbUnit, para dois recursos principais:1.O recurso RowTest permite executar facilmente o mesmo teste em diferentes conjuntos de parâmetros, o que é importante se você realmente deseja uma cobertura completa.2.O recurso Rollback permite que você execute testes em seu banco de dados enquanto reverte as alterações após cada teste, mantendo seu banco de dados exatamente no mesmo estado sempre.E é tão fácil quanto adicionar o atributo [Rollback].

Outro aspecto interessante do MbUnit é que sua sintaxe é quase idêntica à do NUnit, portanto, se você já tiver um ambiente de teste completo instalado no NUnit, poderá simplesmente trocar as referências sem a necessidade de alterar nenhum (muito?) código.

Parece que xUnit.net fornece uma abordagem ligeiramente diferente para N/MB/MS/Unit, o que é interessante.

Na minha busca por uma solução semelhante ao rspec (porque ADORO o rspec), também me deparei NSpec, que parece um pouco prolixo, mas combinado com o Extensões NSpec addon para usar métodos de extensão C#3, parece muito bom.

Eu uso o seguinte:

TestDriven.NET - Complemento de teste de unidade para Visual Studio

Isolador Typemock- Estrutura de simulação para testes de unidade .Net

NUunidade - Uma estrutura de teste de unidade de código aberto em C#.

Esta é uma questão antiga, mas você pode achar interessante que o Gallio v3.1 agora suporta RSpec via IronRuby.

Eu gosto TestDriven.NET (embora eu use o ReSharper) e estou muito feliz com XUnit.net.Ele usa fatos em vez de testes, o que muitas pessoas não gostam, mas gosto da diferença na terminologia.É útil pensar em uma coleção de fatos comprováveis ​​automaticamente sobre o seu software e ver quais deles você viola ao fazer uma alteração.

Esteja ciente que Visual Studio 2008 Professional (e superior) agora vem com testes de unidade integrados (estava disponível apenas nas edições Team System) e pode ser adequado às suas necessidades.

Fiz um pequeno exemplo de teste de uma biblioteca .net usando ironRuby:http://khebbie.dk/post/2008/08/Example-of-using-ironRubys-mini_rspec-library.aspx

Eu costumava usar o NUnit, mas mudei para o MbUnit porque tem mais recursos.Eu amo o RowTest.Ele permite parametrizar seus testes.No entanto, o NUnit tem um suporte de ferramenta um pouco melhor.Estou usando o ReSharper para executar testes MbUnit.Tive problemas com o TestDriven.NET ao executar meus métodos SetUp para MbUnit.

Esta é realmente uma opinião pessoal da minha parte (acho que é redundante, pois é um fórum).NUnit, MSTest, etc., todos fazem praticamente a mesma coisa.Porém considero o NMock indispensável.

NMock ou qualquer pacote de simulação não é um teste de unidade, mas torna muito mais fácil fazer testes de unidade que deveria ser.

Eu gosto Unidade Mb, er, Gálio.O mais importante para mim é ter um bom suporte de ferramentas dentro do Visual Studio.Para isso eu uso Reafiador, que tem um Executor de testes MbUnit.Muitas pessoas parecem gostar TestDriven.NET como seu executor de testes também.

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