Cmockery es una biblioteca liviana que se utiliza para las pruebas unitarias de autor C.
Las pruebas de Cmockery se compilan en ejecutables independientes y se vinculan con la biblioteca de Cmockery, la biblioteca C estándar y el módulo que se está probando. Cualquier símbolo externo al módulo que se está probando debe burlarse, reemplazado por funciones que devuelvan los valores determinados por la prueba, dentro de la aplicación de prueba. Aunque pueden existir diferencias significativas entre el entorno de ejecución de destino de un módulo de código y el entorno utilizado para probar el código, la prueba unitaria aún es válida ya que su objetivo es probar la lógica de un módulos de código a un nivel funcional y no necesariamente todas sus interacciones con el entorno de ejecución de destino.
Puede que no sea posible compilar un módulo en una aplicación de prueba sin alguna modificación; Por lo tanto, el símbolo del preprocesador UNIT_TESTING debe definirse cuando se compilan las aplicaciones de prueba de la unidad de Cmockery para que el código dentro del módulo se pueda compilar condicionalmente para las pruebas.
Se puede encontrar información más detallada sobre la mecánica de las pruebas de escritura con Cmockery en docs/user_guide.md .
Para compilar la biblioteca de cmockery y las aplicaciones de ejemplo en Linux, ejecute:
$ ./configure
$ make
Para compilar en Windows, ejecute:
> vsvars.bat
> cd windows
> nmake
Este código se ha probado en Linux (Ubuntu) y Windows usando VC ++ 7 y VC ++ 8.
Hay una variedad de marcos de prueba de unidades C disponibles; Sin embargo, muchos de ellos son bastante complejos y requieren la última tecnología de compiladores. Algunos desarrollo requieren el uso de compiladores antiguos, lo que dificulta el uso de algunos marcos de prueba unitaria. Además, muchos marcos de pruebas unitarias suponen que el código que se está probando es una aplicación o módulo dirigido a la misma plataforma que finalmente ejecutará la prueba. Debido a esta suposición, muchos marcos requieren la inclusión de los encabezados de la biblioteca C estándar en el módulo de código que se está probando, que puede colisionar con la implementación personalizada o incompleta de la biblioteca C utilizada por el código bajo prueba.
Cmockery solo requiere que una aplicación de prueba esté vinculada con la biblioteca C estándar que minimiza los conflictos con los encabezados de la biblioteca C estándar. Además, los intentos de Cmockery evitan el uso de algunas de las características más nuevas de los compiladores C.
Esto da como resultado que Cmockery sea una biblioteca relativamente pequeña que se puede utilizar para probar una variedad de código exótico. Si un desarrollador desea simplemente probar una aplicación con el último compilador, entonces pueden ser preferibles otros marcos de pruebas unitarias.
Si tiene preguntas sobre Cmockery, use los siguientes recursos:
STACK Overflow: use la etiqueta cmockery
Lista de correo: Cmockery (AT) GoogleGroups.com (Archivos)
Para unirse con una cuenta de Google, use la interfaz de usuario web; Para suscribir/cancelar la suscripción con una dirección de correo electrónico arbitraria, envíe un correo electrónico a:
Cmockery tiene licencia bajo la licencia Apache 2.0; Consulte LICENSE.txt para más detalles.