Unity Test Framework

suggest change

Unity is an xUnit-style test framework for unit testing C. It is written completely in C and is portable, quick, simple, expressive and extensible. It is designed to especially be also useful for unit testing for embedded systems.

A simple test case that checks the return value of a function, might look as follows

void test_FunctionUnderTest_should_ReturnFive(void)
    TEST_ASSERT_EQUAL_INT( 5, FunctionUnderTest() );

A full test file might look like:

#include "unity.h"
#include "UnitUnderTest.h" /* The unit to be tested. */

void setUp (void) {} /* Is run before every test, put unit init calls here. */
void tearDown (void) {} /* Is run after every test, put unit clean-up calls here. */

void test_TheFirst(void)
    TEST_IGNORE_MESSAGE("Hello world!"); /* Ignore this test but print a message. */

int main (void)
    RUN_TEST(test_TheFirst); /* Run the test. */
    return UNITY_END();

Unity comes with some example projects, makefiles and some Ruby rake scripts that help make creating longer test files a bit easier.

Feedback about page:

Optional: your email if you want me to get back to you:

Table Of Contents