O CMOCKERY é uma biblioteca leve que é usada para criar testes de unidade C.
Os testes CMOCKERY são compilados em executáveis independentes e vinculados à biblioteca CMOCKERY, à biblioteca C padrão e ao módulo que está sendo testado. Quaisquer símbolos externos ao módulo que estão sendo testados devem ser ridicularizados - substituídos por funções que retornam os valores determinados pelo teste - dentro do aplicativo de teste. Embora possam existir diferenças significativas entre o ambiente de execução de destino de um módulo de código e o ambiente usado para testar o código, o teste de unidade ainda é válido, pois seu objetivo é testar a lógica de um código módulos em um nível funcional e não necessariamente todas as suas interações com o ambiente de execução de destino.
Pode não ser possível compilar um módulo em um aplicativo de teste sem alguma modificação; Portanto, o símbolo do pré -processador UNIT_TESTING deve ser definido quando os aplicativos de teste de unidade CMOCKERY forem compilados para que o código dentro do módulo possa ser compilado condicionalmente para testes.
Informações mais detalhadas sobre a mecânica dos testes de escrita com cmockery podem ser encontrados em docs/user_guide.md .
Para compilar a biblioteca cmockery e os aplicativos de exemplo no Linux, execute:
$ ./configure
$ make
Para compilar no Windows, execute:
> vsvars.bat
> cd windows
> nmake
Este código foi testado no Linux (Ubuntu) e no Windows usando o VC ++ 7 e o VC ++ 8.
Há uma variedade de estruturas de teste de unidade C disponíveis; No entanto, muitos deles são bastante complexos e exigem a mais recente tecnologia do compilador. Algum desenvolvimento requer o uso de compiladores antigos, o que dificulta o uso de algumas estruturas de teste de unidade. Além disso, muitas estruturas de teste de unidade assumem que o código que está sendo testado é um aplicativo ou módulo direcionado para a mesma plataforma que finalmente executará o teste. Devido a essa suposição, muitas estruturas exigem a inclusão de cabeçalhos da biblioteca C padrão C no módulo de código que está sendo testado, que pode colidir com a implementação personalizada ou incompleta da biblioteca C utilizada pelo código em teste.
O CMOCKERY requer apenas um aplicativo de teste está vinculado à biblioteca C padrão que minimiza conflitos com os cabeçalhos da biblioteca C padrão C. Além disso, o CMOCKERY tenta evitar o uso de alguns dos recursos mais recentes dos compiladores C.
Isso resulta em cmockery uma biblioteca relativamente pequena que pode ser usada para testar uma variedade de código exótico. Se um desenvolvedor desejar simplesmente testar um aplicativo com o compilador mais recente, outras estruturas de teste de unidade podem ser preferíveis.
Se você tiver dúvidas sobre o CMOCKERY, use os seguintes recursos:
Flack Overflow: Use a tag cmockery
Lista de discussão: CMOCKERY (AT) GoogleGroups.com (Arquivos)
Para participar de uma conta do Google, use a interface do usuário da web; Para se inscrever/cancelar a inscrição com um endereço de e -mail arbitrário, envie um email para:
O CMOCKERY é licenciado sob a licença Apache 2.0; Consulte LICENSE.txt para obter detalhes.