2009-01-29 5 views
6

Soy un desarrollador web profesional y, por lo tanto, estoy acostumbrado a utilizar lenguajes de scripting de alto nivel y herramientas de prueba. Recientemente he estado trabajando, personalmente, más con C y escribiendo muchos programas C para sistemas basados ​​en Unix para realizar varias tareas.¿Qué se usa para probar el código C de la unidad?

Sin embargo, todavía no he tenido un buen ritmo para probar este código unitario y me preguntaba qué herramientas usan los programadores de C para crear pruebas automatizadas para verificar el código.

+0

Este era el tipo de pregunta que estaba buscando pero la búsqueda realmente no la encontraba. ¡Gracias! – Mitchell

Respuesta

1

¿Está probando estrictamente el código C, o puede mezclar algo de C++? Si C++ está bien, es probable que valga la pena visitar cppunit. Si está probando una biblioteca, simplemente puede vincular su biblioteca a la aplicación de prueba de su unidad. Si está probando una aplicación, probablemente tendrá que crear una biblioteca y luego vincularla a su aplicación y a la de prueba de la unidad.

1

Tuve esta pregunta una vez y descubrí CUnit. Solo lo usé para un proyecto pequeño, pero parecía estar bien. ¡No es tan conveniente como JUnit o NUnit a los que estoy acostumbrado! Para los proyectos de C++, uso cppunit, que funciona bastante bien.

1

CUtest. Es realmente limpio. Pequeño, no depende de un lenguaje generador, rápido ... ¿qué no le gusta?

0

Si sólo desea un mecanismo de prueba quick'n'dirty, echar un vistazo a la assert macro, parte de ANSI C

+0

¡Oh, hola, y printf también puede ser útil! :PAG – hmijail

1

Considere el uso de CppUTest. Está escrito en C++, pero oculta el C++ para que los programadores C puedan ignorar el C++.

Unity es un arnés de prueba solo C que también es bueno. Utiliza ruby ​​para generar corredores de prueba.

Me mantendría alejado de CppUnit. Requiere conocimiento de C++ y cada prueba debe ser instalada individualmente.

James

1

trabajo como desarrollador y yo prefiero usar CMocka herramienta para proporcionar prueba unitaria para el lenguaje C. Es una herramienta simple basada en GTest (principalmente pruebas de unidad C++) y es realmente fácil de entender. Hace algún tiempo investigué sobre la mejor y más simple herramienta de prueba y decidí hacerlo.

Y después de un tiempo trabajando con esto estoy muy seguro. Con el uso de directivas de preprocesador

#define MyFunction(iEntry) mock_MyFunction(iEntry) 

también se puede corte de cualquier función que desea simular (incluso las funciones básicas de Windows como sizeof(), malloc() y así sucesivamente).

Después de este paso, solo tiene que crear sus funciones simuladas (mock_MyFunction (iEntry)), incluirlas en su proyecto y simular su comportamiento. La forma preferida es establecer algunos valores antes de devolverlos (will_return_always (mock_MyFunction, 5)). Y cuando se llama a esta función, siempre devolverá el valor 5.

También puede evitar por completo el lenguaje C++ y seguir trabajando con lenguaje C sencillo. No tenga en cuenta el sitio de índice simple de CMocka. Usted tiene que sumergirse en ese sitio y la API de herramienta para encontrar lo que necesita .. :) también comprobar this de pequeño tutorial de utilizar CMocka ...

espero que esto ayude, tener un buen día ..:-)

Cuestiones relacionadas