Sei que já existem algumas perguntas sobre recomendações para estruturas de teste de unidade C ++, mas todas as respostas não ajudaram, pois apenas recomendam uma das estruturas, mas não fornecem nenhuma informação sobre uma comparação (recurso).
Eu acho que as estruturas mais interessantes são CppUnit, Boost e a nova estrutura de testes do Google. Alguém já fez alguma comparação?
c++
unit-testing
cppunit
googletest
boost-test
empregada doméstica
fonte
fonte
Respostas:
Veja esta pergunta para alguma discussão.
Eles recomendam os artigos: Explorando a selva da estrutura de testes de unidade C ++ , por Noel Llopis. E o mais recente: estruturas de unidades de teste C ++
Ainda não encontrei um artigo que compare o googletest com outros quadros ainda.
fonte
Um novo player é o Google Test (também conhecido como Google C ++ Testing Framework ), o que é bastante interessante.
Principais características:
ASSERT_EQ(5, Foo(i)) << " where i = " << i;
SCOPED_TRACE
para loops de rotinafonte
Acabei de lançar minha própria estrutura, CATCH , por aí. Ainda está em desenvolvimento, mas acredito que já supera a maioria dos outros frameworks. Pessoas diferentes têm critérios diferentes, mas tentei cobrir a maior parte do terreno sem muitas trocas. Dê uma olhada na minha entrada de blog vinculada para uma degustação. Meus cinco principais recursos são:
Ele também possui ligações Objective-C. O projeto está hospedado no Github
fonte
CHECK_FLASE
eREQUIRE_FLASE
macros.A Biblioteca de Teste do Boost é uma escolha muito boa, especialmente se você já estiver usando o Boost.
Suporta:
PS: Eu escrevi um artigo sobre isso que pode ajudá-lo a começar: Estrutura de teste de unidade C ++: um tutorial de teste de reforço
fonte
A Wikipedia possui uma lista abrangente de estruturas de teste de unidade , com tabelas que identificam os recursos suportados ou não.
fonte
Lançamos recentemente o xUnit ++ , especificamente como uma alternativa ao Google Test e à Boost Test Library (veja as comparações ). Se você conhece o xUnit.Net, está pronto para o xUnit ++.
Principais características:
Assert.Equal(-1, foo(i)) << "Failed with i = " << i;
Log.Debug << "Starting test"; Log.Warn << "Here's a warning";
fonte
CppUTest - muito bom, estrutura leve com bibliotecas simuladas. Vale a pena dar uma olhada.
fonte
CPUnit ( http://cpunit.sourceforge.net ) é uma estrutura semelhante ao Google Test, mas que conta com menos macos (assertivas são funções) e onde as macros são prefixadas para evitar a armadilha comum de macro. Os testes são parecidos com:
Eles se registram automaticamente, então você não precisa mais do que isso. Depois é só compilar e executar. Acho que usar essa estrutura é muito parecido com o uso do JUnit, para aqueles que tiveram que gastar algum tempo programando Java. Muito agradável!
fonte
Existem alguns recursos relevantes de teste de unidade C ++ em http://www.progweap.com/resources.html
fonte
Verificador de integridade da API - estrutura de teste para bibliotecas C / C ++:
Recursos exclusivos em comparação com CppUnit, Boost e Google Test:
fonte