26 de octubre de 2024 ? Ceedling 1.0.0 se enviará muy pronto. Las versiones preliminares ya están disponibles. Consulte el nuevo archivo README para conocer una reintroducción a Ceedling y enlaces a una variedad de recursos complementarios. Consulte las Notas de la versión para obtener una descripción general de todas las novedades desde 0.31.1, además de enlaces a un registro de cambios detallado y una lista de cambios importantes.
Ceedling es un sistema de compilación para proyectos en C que es una especie de extensión del sistema de compilación Rake (make-ish) de Ruby. Ceedling también hace que TDD (Desarrollo basado en pruebas) en C sea muy sencillo al integrar CMock, Unity y CException, otros tres impresionantes proyectos de código abierto sin los que no puedes vivir si estás creando maravillas en el lenguaje C. Ceedling también es extensible con un práctico mecanismo de complemento.
La documentación y la información de la licencia existen en el repositorio en docs/
Primero asegúrese de que Ruby esté instalado en su sistema (si aún no lo está). Luego, desde un símbolo del sistema:
> gem install ceedling
> git clone --recursive https://github.com/throwtheswitch/ceedling.git
> cd ceedling
> bundle install # Ensures you have all RubyGems needed
> git submodule update --init --recursive # Updates all submodules
> bundle exec rake # Run all Ceedling library tests
Si el paquete no está instalado en su sistema o tiene problemas, es posible que deba instalarlo:
> sudo gem install bundler
Si tiene problemas al ejecutar el paquete y recibe mensajes como este can't find gem bundler (>= 0.a) with executable bundle (Gem::GemNotFoundException)
, es posible que deba instalar una versión diferente del paquete. Para esto, consulte la versión en Gemfile.lock. Un ejemplo basado en el Gemfile.lock actual es el siguiente:
> sudo gem install bundler -v 1.16.2
Crear un proyecto con Ceedling es fácil. Simplemente dígale a ceedling el nombre del proyecto y creará un subdirectorio llamado ese nombre y lo completará con una estructura y configuración de directorio predeterminadas.
ceedling new YourNewProjectName
Puede agregar archivos a sus directorios src y test y instantáneamente pasarán a formar parte de su compilación de prueba. ¿Necesita una estructura diferente? Puede comenzar a modificar el archivo project.yml
inmediatamente con su nueva ruta o requisitos de herramienta.
Puede actualizar a la última versión de Ceedling en cualquier momento, obteniendo acceso automáticamente a Unity y CMock empaquetados que vienen con él.
gem update ceedling
¿Estás empezando con Ceedling? ¿Quizás le gustaría que su proyecto se instale con parte de su útil documentación? ¡Ningún problema! Puedes hacer esto cuando creas un nuevo proyecto.
ceedling new --docs MyAwesomeProject
Ceedling también puede desplegar todas sus agallas en el proyecto. Esto permite utilizarlo sin tener que preocuparse por dependencias externas. No tienes que preocuparte de que Ceedling cambie para este proyecto en particular solo porque actualizaste tus gemas... no tienes que preocuparte de que los cambios en Unity o CMock rompan tu compilación en el futuro. Si desea utilizar Ceedling de esta manera, dígale que desea una copia local cuando cree su proyecto:
ceedling new --local YourNewProjectName
Esto instalará todo Unity, CMock y Ceedling en una nueva carpeta llamada vendor
dentro de su proyecto YourNewProjectName
. Seguirá creando la estructura de directorios simple con las carpetas src
y test
.
¡PUNTAJE!
Si desea forzar la actualización de una versión de Ceedling instalada localmente para que coincida con su última joya más adelante, ¡es fácil! Simplemente emita el siguiente comando:
ceedling upgrade --local YourNewProjectName
Al igual que el new
comando, se llama desde el directorio principal de su proyecto.
¿Tiene miedo de perder todos sus cambios locales cuando esto suceda? Puedes evitar que Ceedling actualice el archivo de tu proyecto emitiendo no_configs
.
ceedling upgrade --local --no_configs TheProject
¿Estás usando Git? Es posible que desee que Ceedling cree automáticamente un archivo gitignore
agregando --gitignore
a su new
llamada.
¡FELICES PRUEBAS!