3
回答
CppUTest 入门教程
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

首次测试

在做第一次测试的时候,你需要新建一个cpp文件,并写好TEST_GROUP和TEST方法,如下:

TEST_GROUP(FirstTestGroup)
{
};

TEST(FirstTestGroup, FirstTest)
{
   FAIL("Fail me!");
}

很明显此次测试将失败。我们再添加一个新的测试组,并确保它能编译通过。如果此时你想添加其他测试,你可以这样写:

TEST(FirstTestGroup, SecondTest)
{
   STRCMP_EQUAL("hello", "world");
}

CppUTest的关键设计之一就是让它很容易添加和删除测试,因为你测试代码的时候,经常要写这些。

编写main方法

当然,想要运行它,你还需要创建一个main方法。大多数main方法在CppUTest里面都非常相似。他们通常写在AllTests.cpp文件里面,像这样:

int main(int ac, char** av)
{
   return CommandLineTestRunner::RunAllTests(ac, av);
}

CppUTest会自动找到你写的测试。

设置Makefile

接下来,你需要一个Makefile文件,或者修改现有的Makefile文件。需要设置的地方是:

CppUTest路径

定义一个CppUTest路径作为系统变量,或者在Makefile中定义如下:

CPPUTEST_HOME = /Users/vodde/workspace/cpputest

编译器选项  

在编译器里,你需要添加include路径和可选的(建议加上)CppUTest的预包含头,这样就可以得到内存泄漏检测器的调试信息,包括C中的内存泄漏信息。

include路径添加如下:

CPPFLAGS += -I(CPPUTEST_HOME)/include

(CPPFLAGS可同时在.c和.cpp文件中工作!)

为检测内存泄漏,你需要添加:

CFLAGS += -include $(CPPUTEST_HOME)/include/CppUTest/MemoryLeakDetectorNewMacros.h
CXXFLAGS += -include $(CPPUTEST_HOME)/include/CppUTest/MemoryLeakDetectorMallocMacros.h

这些标志需要被添加到”测试代码”和”生产代码”中。他们将会在内存中新建一个调试变量。

链接器选项

你需要添加CppUTest库连接标志,例如:

LD_LIBRARIES = -L$(CPPUTEST_HOME)/lib -lCppUTest -lCppUTestExt

(最后那个参数是当你需要使用扩展时用到的)

 

原文链接OSChina.NET 编译

举报
迷途d书童
发帖于6年前 3回/6K+阅
顶部