如何在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:

 如何在Visual Studio 2010中使用CppUTest建立TDD的Code Kata的环境

  • 新建一个static的KataLibrary的Win32 Project:

如何在Visual Studio 2010中使用CppUTest建立TDD的Code Kata的环境

  • 把CppUTest的project加我们Kata的solution中

 

如何在Visual Studio 2010中使用CppUTest建立TDD的Code Kata的环境

  • 最终Kata Solution的结构如下:

如何在Visual Studio 2010中使用CppUTest建立TDD的Code Kata的环境

分别设置各个工程的属性:

  • Kata

如何在Visual Studio 2010中使用CppUTest建立TDD的Code Kata的环境

如何在Visual Studio 2010中使用CppUTest建立TDD的Code Kata的环境

  • KataLibrary

如何在Visual Studio 2010中使用CppUTest建立TDD的Code Kata的环境

如何在Visual Studio 2010中使用CppUTest建立TDD的Code Kata的环境

如何在Visual Studio 2010中使用CppUTest建立TDD的Code Kata的环境

在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!");
}

编译结果如下:

如何在Visual Studio 2010中使用CppUTest建立TDD的Code Kata的环境

现在可以开始Code Kata的快乐之旅了。

 

 

转载于:https://www.cnblogs.com/wanghonggang/archive/2013/03/13/CppUTest_in_Visual_Studio_2010.html