CppUTest

CppUTest 是一個用於單元測試 C 和 C++ 的 xUnit- style 框架。它是用 C++編寫的,旨在實現設計的可移植性和簡單性。它支援記憶體洩漏檢測,構建模擬以及執行其測試以及 Google Test。附帶 Visual Studio 和 Eclipse CDT 的幫助程式指令碼和示例專案。

#include <CppUTest/CommandLineTestRunner.h>
#include <CppUTest/TestHarness.h>

TEST_GROUP(Foo_Group) {}

TEST(Foo_Group, Foo_TestOne) {}

/* Test runner may be provided options, such
   as to enable colored output, to run only a
   specific test or a group of tests, etc. This
   will return the number of failed tests. */

int main(int argc, char ** argv)
{
    RUN_ALL_TESTS(argc, argv);
}

測試組可能有 setup()teardown() 方法。在每次測試之前呼叫 setup 方法,然後呼叫 teardown() 方法。兩者都是可選的,可以單獨省略。其他方法和變數也可以在組內宣告,並且可用於該組的所有測試。

TEST_GROUP(Foo_Group)
{
    size_t data_bytes = 128;
    void * data;

    void setup()
    {
        data = malloc(data_bytes);
    }

    void teardown()
    {
        free(data);
    }

    void clear()
    {
        memset(data, 0, data_bytes);
    }
}