Ceedling + Eclipse o pruebas unitarias para microcontroladores

imagen


Programación de microcontroladores? ¿Lee sobre TDD o simplemente está cansado de buscar errores y reescribir el código nuevamente?

Amigo, prueba las pruebas.

Este artículo mostrará cómo integrar Ceedling en Eclipse / SW4STM32 para que el código pase por las pruebas durante cada compilación.

¿Qué me llevó a escribir un artículo?
No pude encontrar instrucciones detalladas, pero no pude seguir las instrucciones encontradas, debido a su contenido superficial u obsoleto (por ejemplo, el comando rake ya no ejecuta el ceedling).

Las instrucciones para integrar ceedling en eclipse de los desarrolladores son muy escasas y la única instrucción encontrada fue pagada (esta fue la gota que colmó el vaso):
imagen

Instalación


Por ejemplo, SO Windows, CubeMX y SW4STM32.

Instalar chocolatey
Abra PowerShell.exe y ejecute:

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) 

imagen

Instalar MinGW
Abra PowerShell.exe y ejecute:
 choco install mingw 


Instalar ruby
Abra PowerShell.exe y ejecute:
 choco install ruby 


Instalar geed ceedling
Reiniciar PowerShell!

Abra PowerShell.exe y ejecute:
 gem install ceedling 


Control de salud
Abra PowerShell.exe y ejecute:

 cd / 

 ceedling new test_ceedling 

 cd test_ceedling 

 ceedling test:all 

imagen

Creación de proyectos


Crea un proyecto usando CubeMX
Cree un proyecto en CubeMX en toolchain / ide SW4STM32.

Ejecute CubeMX en nombre del administrador para crear un proyecto en el directorio C: /

Estructura de la aplicación -> avanzada (de lo contrario, el proyecto no se recopila de inmediato).

imagen

Inicializamos el ceedling en el proyecto:

 cd / 

 ceedling new test_ceedling 

Creemos la siguiente estructura y c./h en el proyecto. archivos, agregue las rutas a project.yml:

imagen

Agregar ubicación de origen e incluye
imagen

imagen

Crea un nuevo generador:

imagen

Argumentos -> prueba: todos

imagen

Lanzamiento


Cree otra ventana de consola para pruebas:

imagen

Cámbielo para mostrar los resultados del constructor de Ceedling:

imagen

Presione ctrl + B y vea los resultados de la prueba en la consola:

imagen

Agregar periféricos


A menudo, el resultado de una función depende de componentes externos.

Además de la herramienta de generación de pruebas, Unity, Ceedling admite CMock, un generador de objetos simulados y trozos.

Imagine que nuestra calculadora al calcular la diferencia,

 a - b 

Si se presiona el botón, se considera de manera diferente.

 b - a 

Entonces, en este caso, nuestras pruebas pueden verse así:

imagen

La función de verificación de clic de botón ha sido declarada pero no implementada (no escrita).

Presione ctrl + B y vea los resultados de la prueba en la consola:

imagen

En este caso, creamos una imitación de un botón, en lugar del cual puede haber UART, SPI, I2C, etc.

Conclusión


Ahora, con cada conjunto de aplicaciones a la derecha en la esquina, puede observar el resultado de las pruebas realizadas:

imagen

Source: https://habr.com/ru/post/441268/


All Articles