Pregunta

Busco a enfoques de código incrustado sistemas de ensayo Unidad escrito en C.

Al mismo tiempo, también estoy buscando un marco UT buena que puedo usar. El marco debe tener un número razonablemente pequeño de dependencias.

Cualquier grandes productos de código abierto que tienen buenas UT?

EDIT:

La gente, gracias por las respuestas --que realmente los aprecia, pero esto no lo hace directamente responder a mi pregunta:

¿Conoce cualquier código de fuente abierta que utiliza pruebas C Unidad? Busco para ver cómo se hace, para que pueda aprender algo de código ...

¿Fue útil?

Solución

Editar : hay una lista de proyecto mediante cheque como marco de pruebas unitarias en el cheque proyectar la página . Algunos enlaces son anticuadas, pero se puede navegar por la fuente de la unidad de prueba de y href="http://hg.savannah.gnu.org/hgweb/scew/file/5af3040c31aa/tests" rel="nofollow noreferrer"> SCEW ; uno tiene que descargar el código fuente para otros.


minunit no tiene dependencias en absoluto y se puede utilizar como una base de para construir su propio marco.

En lo que se refiere a un método, comienzo a partir de las funciones de nivel más bajo (las hojas). Muy a menudo, cuando estoy probando la función de nivel superior que invocan las funciones de nivel inferior. Esto no es un problema, ya que las funciones inferiores ya han sido probados.

I también modularizar el código como "objeto", o tabla de objetos. funciones del trozo permiten ensayar en el aislamiento del hardware o de otros componentes.

I deshacerse de la estática con una definir ese eliminarlos, o incluyo el archivo fuente que contiene las funciones para ser probado en el archivo de fuente de pruebas de unidad.

#if defined(UNIT_TESTING)
#define STATIC
#else
#define STATIC static
#endif

Sin ciencia de cohetes aquí, pero esto hace el truco.

Una última cosa, prueba el comportamiento, no la puesta en práctica de modo que las pruebas unitarias no se romperá cuando cambia la implementación.

Otros consejos

modularizar su código de tal manera que hay una fina capa en la parte inferior que sabe acerca de los detalles del hardware subyacente. Esa capa puede ser burlado en un PC normal. De esa manera usted puede utilizar las bibliotecas de pruebas unitarias normales para el desarrollo de escritorio para poner a prueba todos los códigos excepto que la capa inferior delgada.

Mi experiencia en el desarrollo de software embebido para Linux está usando C ++ y no llanura C. Se utilizó cppunit para pruebas unitarias.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top