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);
}
}