Unity 测试框架

Unity 是用于单元测试 C 的 xUnit 风格的测试框架。它完全用 C 语言编写,可移植,快速,简单,富有表现力和可扩展性。它的设计特别适用于嵌入式系统的单元测试。

检查函数返回值的简单测试用例可能如下所示

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

完整的测试文件可能如下所示:

#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)
{
    UNITY_BEGIN();
    RUN_TEST(test_TheFirst); /* Run the test. */
    return UNITY_END();
}  

Unity 附带了一些示例项目,makefile 和一些 Ruby rake 脚本,可以帮助你更轻松地创建更长的测试文件。