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 指令碼,可以幫助你更輕鬆地建立更長的測試檔案。