Unity/Ceedling Test Skill
SkillDev toolsEmbedded unit testing with Unity framework and CMock
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Unity/Ceedling Test Skill skill
What this skill tells your AI
The instructions your AI receives, as published by a5c-ai/babysitter in library/specializations/embedded-systems/skills/unity-ceedling-test/SKILL.md and read by ahel’s review.
Overview
This skill provides embedded unit testing capabilities using the Unity test framework, CMock mock generation, and Ceedling build system for comprehensive off-target and on-target testing.
Capabilities
Unity Test Framework
- Test case generation
- Assertion macro usage
- Test fixture setup/teardown
- Test group organization
- Parameterized tests
- Custom assertions
CMock Mock Generation
- Automatic mock generation from headers
- HAL/driver mocking strategies
- Callback mocking
- Argument capture and validation
- Return value configuration
- Call count verification
Ceedling Build System
- Project configuration (project.yml)
- Test runner generation
- Coverage integration
- Compiler configuration
- Plugin management
- CI/CD integration
Hardware Abstraction Mocking
- Register mock strategies
- DMA mock patterns
- Interrupt mock handling
- Timing mock approaches
- State machine mocking
Test Coverage
- gcov integration
- lcov report generation
- Branch coverage analysis
- MC/DC coverage (for safety)
- Coverage threshold enforcement
Off-Target Testing
- Host compilation setup
- Platform abstraction
- Stub implementation
- Double buffering for DMA
- Fake timer implementations
Target Processes
embedded-unit-testing.js- Unit test implementationdevice-driver-development.js- Driver testingbsp-development.js- BSP unit testing
Dependencies
- Unity test framework
- CMock mock generator
- Ceedling build system (optional)
- gcov/lcov for coverage
Usage Context
This skill is invoked when tasks require:
- Unit test development
- Mock generation for drivers
- Test coverage analysis
- Off-target testing setup
- TDD for embedded
Project Structure
project/
src/
driver.c
driver.h
test/
test_driver.c
support/
test_helper.c
build/
test/
artifacts/
project.yml
Configuration Example (project.yml)
:project:
:build_root: build/
:test_file_prefix: test_
:use_exceptions: FALSE
:paths:
:test:
- test/**
:source:
- src/**
:include:
- inc/**
:cmock:
:mock_prefix: mock_
:when_no_prototypes: :warn
:enforce_strict_ordering: TRUE
:plugins:
- :ignore
- :callback
- :return_thru_ptr
:plugins:
:enabled:
- gcov
- xml_tests_report
Test Example
#include "unity.h"
#include "driver.h"
#include "mock_hal_spi.h"
void setUp(void) {
driver_init();
}
void tearDown(void) {
driver_deinit();
}
void test_driver_sends_correct_command(void) {
uint8_t expected[] = {0x01, 0x02, 0x03};
HAL_SPI_Transmit_ExpectWithArrayAndReturn(
SPI1, expected, 3, 3, 100, HAL_OK);
TEST_ASSERT_EQUAL(DRIVER_OK, driver_send_command(0x01));
}
Signals
- GitHub stars
- 2k
- Forks
- 112
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
unity-ceedling-test- Source
- github.com/a5c-ai/babysitter