如何在Visual Studio 2010中使用CppUTest建立TDD的Code Kata的环境
CppUTest 是一个功能全面的测试框架,是为了支持在多种操作系统上开发嵌入式软件而特别设计的。CppUTest的宏被设计成不需要了解C++也可以写测试用例。这使得C程序员更容易用这个测试框架。
那么如何在Visual Studio 2010中从头建一个使用CppUTest的TDD的Code Kata的环境?下面将一步一步的教大家。
为了方便测试,我的主体思路是production的project只有一个main函数,所有的functions都放在Library中,main函数直接调用Library中暴露出来的接口。为了分离Unit Test测试代码和我们production code。这样我们就需要对Library有一个对应的测试的project。
- 新建一个kata的 C++ project:
- 新建一个static的KataLibrary的Win32 Project:
- 把CppUTest的project加我们Kata的solution中
- 最终Kata Solution的结构如下:
分别设置各个工程的属性:
- Kata
- KataLibrary
在KataLibraryTest为KataLibrary加上初始的Test Case,Test Fail确认Solution是正常的,测试代码是可以跑到。
#include "CppUTest/CommandLineTestRunner.h" int main(int ac, const char** av) { /* These checks are here to make sure assertions outside test runs don't crash */ CHECK(true); LONGS_EQUAL(1, 1); return CommandLineTestRunner::RunAllTests(ac, av); }
#include "CppUTest/TestHarness.h" #include "CppUTest/TestOutput.h" TEST_GROUP(FirstTestGroup) { }; TEST(FirstTestGroup, FirstTest) { FAIL("Fail me!"); }
编译结果如下:
现在可以开始Code Kata的快乐之旅了。