Uma estrutura de teste de unidade em C é Check ; uma lista de estruturas de teste de unidade em C pode ser encontrada aqui e é reproduzida abaixo. Dependendo de quantas funções de biblioteca padrão o seu tempo de execução possui, você pode ou não conseguir usar uma delas.
AceUnit
O AceUnit (Advanced C e Embedded Unit) se apresenta como uma estrutura de teste de unidade de código C confortável. Ele tenta imitar o JUnit 4.xe inclui recursos de reflexão. O AceUnit pode ser usado em ambientes de restrição de recursos, por exemplo, desenvolvimento de software incorporado e, principalmente, funciona bem em ambientes onde você não pode incluir um único arquivo de cabeçalho padrão e não pode invocar uma única função C padrão das bibliotecas ANSI / ISO C. Também possui uma porta Windows. Ele não usa garfos para interceptar sinais, embora os autores tenham manifestado interesse em adicionar esse recurso. Veja a página inicial do AceUnit .
Autônomo GNU
Muito parecido com o Check, incluindo bifurcação para executar testes de unidade em um espaço de endereço separado (na verdade, o autor original do Check pegou emprestada a idéia do GNU Autounit). O GNU Autounit usa o GLib extensivamente, o que significa que a vinculação precisa de opções especiais, mas isso pode não ser um grande problema para você, especialmente se você já estiver usando o GTK ou o GLib. Veja a página inicial do GNU Autounit .
cUnit
Também usa GLib, mas não bifurca-se para proteger o espaço de endereço dos testes de unidade.
CUnit
Padrão C, com planos para uma implementação da GUI do Win32. Atualmente, não bifurca ou protege o espaço de endereço dos testes de unidade. No início do desenvolvimento. Veja a página inicial do CUnit .
CuTest
Uma estrutura simples com apenas um arquivo .c e um arquivo .h que você solta na sua árvore de origem. Veja a página inicial do CuTest .
CppUnit
A principal estrutura de teste de unidade para C ++; você também pode usá-lo para testar o código C. É estável, desenvolvido ativamente e possui uma interface GUI. Os principais motivos para não usar o CppUnit for C são primeiro grandes e, depois, você precisa escrever seus testes em C ++, o que significa que você precisa de um compilador C ++. Se isso não parece uma preocupação, vale a pena considerar, juntamente com outras estruturas de teste de unidade C ++. Veja a página inicial do CppUnit .
embUnit
embUnit (Unidade incorporada) é outra estrutura de teste de unidade para sistemas embarcados. Este parece ser substituído pelo AceUnit. Página inicial da Unidade Incorporada .
MinUnit
Um conjunto mínimo de macros e pronto! O objetivo é mostrar como é fácil testar seu código de unidade. Veja a página inicial do MinUnit .
Unidade para Mr. Ando
Uma implementação CUnit que é relativamente nova e aparentemente ainda está em desenvolvimento inicial. Veja a página inicial do CUnit para Mr. Ando .
Esta lista foi atualizada pela última vez em março de 2008.
Mais estruturas:
CMocka
CMocka é uma estrutura de teste para C com suporte a objetos simulados. É fácil de usar e configurar.
Veja a página inicial do CMocka .
Critério
O Critério é uma estrutura de teste de unidade C de plataforma cruzada, que oferece suporte ao registro automático de testes, testes parametrizados, teorias e que pode gerar vários formatos, incluindo TAP e JUnit XML. Cada teste é executado em seu próprio processo, para que sinais e falhas possam ser relatados ou testados, se necessário.
Consulte a página inicial do critério para obter mais informações.
HWUT
O HWUT é uma ferramenta geral de teste de unidade com grande suporte a C. Ele pode ajudar a criar Makefiles, gerar casos de teste maciços codificados em 'tabelas de iteração' mínimas, caminhar pelas máquinas de estado, gerar stubs C e muito mais. A abordagem geral é única: os veredictos são baseados em 'stdout bom / stdout ruim'. A função de comparação, no entanto, é flexível. Assim, qualquer tipo de script pode ser usado para verificação. Pode ser aplicado a qualquer idioma que possa produzir saída padrão.
Veja a página inicial do HWUT .
CGreen
Uma estrutura de teste e zombaria moderna, portátil e em vários idiomas para C e C ++. Ele oferece uma notação opcional de BDD, uma biblioteca de simulação, a capacidade de executá-lo em um único processo (para facilitar a depuração). Um corredor de teste que descobre automaticamente as funções de teste está disponível. Mas você pode criar seus próprios programaticamente.
Todos esses recursos (e mais) são explicados no manual do CGreen .
A Wikipedia fornece uma lista detalhada das estruturas de teste de unidade C em Lista de estruturas de teste de unidade: C