Best use case
unity-ceedling-test is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Embedded unit testing with Unity framework and CMock
Teams using unity-ceedling-test should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/unity-ceedling-test/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How unity-ceedling-test Compares
| Feature / Agent | unity-ceedling-test | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Embedded unit testing with Unity framework and CMock
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Unity/Ceedling Test Skill
## 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 implementation
- `device-driver-development.js` - Driver testing
- `bsp-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)
```yaml
: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
```c
#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));
}
```Related Skills
vitest
Vitest configuration, mocking, coverage, snapshot testing, and performance.
react-testing-library
React Testing Library patterns, queries, user events, and accessibility testing.
load-test-generator
Generate load test scripts for k6, Locust, and Gatling from OpenAPI specs
cloud-security-testing
Multi-cloud security assessment and penetration testing capabilities. Execute Prowler/ScoutSuite assessments, analyze IAM policies, identify cloud misconfigurations, test permissions, and enumerate cloud resources across AWS/GCP/Azure.
contract-test-framework
Consumer-driven contract testing for SDK-API compatibility. Generate Pact consumer tests, verify provider contracts, configure Pact broker, and implement can-i-deploy checks.
compatibility-test-matrix
Multi-version, multi-platform SDK compatibility testing
test-data-generation
Synthetic test data generation and management using Faker.js and similar tools. Generate realistic test data, create data factories, implement database seeding, and manage test data anonymization.
Stryker Mutation Testing
Stryker mutation testing for assessing test suite quality and effectiveness
pytest Testing
Expert pytest framework for Python unit, integration, and functional testing
Playwright E2E Testing
Deep integration with Playwright for browser automation and end-to-end testing
Percy Visual Testing
Percy visual testing platform integration for visual regression detection
pact-contract-testing
Consumer-driven contract testing with Pact framework. Generate consumer contracts, configure Pact Broker publishing, execute provider verification, detect breaking changes, and integrate with CI/CD pipelines.