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的快乐之旅了。

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

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

  1. 图解Visual Studio 2010中的UML建模功能

    Visual Studio 2010在架构和项目管理方面的功能增加让人眼前一亮,之前曾详细介绍过Visual Studio 2010新增的架构工具,包括通过可视化技术DGML提供直观的图表,依赖图,继 ...

  2. 详解Visual Studio 2010中QT环境搭建配置

    本文将介绍如何在Visual Studio 2010中配置Qt这个跨平台应用程序和UI开发框架. QT简介 Qt是一个跨平台应用程序和UI开发框架.它包括跨平台类库.集成开发工具和跨平台 IDE.使用 ...

  3. 在Visual Studio 2010中创建多项目(解决方案)模板【三】

    前文回顾: 在Visual Studio 2010中创建多项目(解决方案)模板[一]:多项目解决方案模板的创建 在Visual Studio 2010中创建多项目(解决方案)模板[二]:Templat ...

  4. 一起谈.NET技术,Visual Studio 2010 中的代码约定设置

    软件约定称为代码约定,通过这一约定可以表示代码正常工作所需的正式条件. 如果方法未按预期收到数据或生成的数据不符合预期的后置条件,代码约定将导致代码引发异常. 有关前置条件和后置条件的概述,您可能需要 ...

  5. VB:使用Visual Studio 2010中的VB语言工具箱DataGridView调用SQL数据库Database的表格文件

    VB:使用Visual Studio 2010中的VB语言工具箱DataGridView调用SQL数据库Database的表格文件 目录 问题探究 图文教程 问题探究 使用Visual Studio ...

  6. Visual Studio 2010中C++项目升级指南

    如何升级? Visual Studio 2010支持来自VC6.Visual Studio 2002.Visual Studio 2003.Visual Studio 2005和Visual Stud ...

  7. 在Visual Studio 2010 中使用菱形向导对窗口进行布局

    "一个移动机器人,需要花大量的时间来进行运算,才可以避开环境中的简单的障碍物.人类也一样,只不过他们从未意识到罢了-直到光明消失在地平线.伴随着痛苦,他们才真正体会到需要进行的运算有多少.& ...

  8. 如何在 Visual Studio 2019 中连接中国版 Azure

    点击上方蓝字关注"汪宇杰博客" 导语 做国内项目很可能用到中国版的 Azure,即世纪互联运营的 azure.cn.然而 Visual Studio 2019 默认连接的是国际版的 ...

  9. 【转】如何在 Visual Studio 2019 中连接中国版 Azure

    导语 做国内项目很可能用到中国版的 Azure,即世纪互联运营的 azure.cn.然而 Visual Studio 2019 默认连接的是国际版的 Azure,如何添加中国版订阅呢? 差点996 6 ...

最新文章

  1. r 语言计算欧氏距离_一文搞懂常用R语言统计值计算:打倒描述性统计拦路虎
  2. easyUI的combobox是否可用
  3. 人工智能时代的用户体验设计与创新
  4. JS的parseInt
  5. odoo10参考系列--ORM API 一(记录集、环境、通用方法和创建模型)
  6. 使用pip安装requests模块(超级简单)+ pip升级失败问题的解决
  7. 高通-物理专线2.0新版资费计划
  8. HBase简介、搭建环境及安装部署
  9. Unity二维码生成与识别
  10. 利用canvas的getImageData()方法制作《在线取色器》
  11. STM32-STVP烧录
  12. 太阳能无线充电系统设计
  13. 0基础快速入门CSS技术栈(1)—图解详细阐述初识CSS(附详细案例源码解析过程)
  14. 对比学习的应用(SimCSE,CLEAR,DeCLUTR,DiffCSE)
  15. 利用阿里云下载国外镜像,国内顺畅下载k8s.gcr.io的镜像
  16. 袋鼠云数栈UI5.0体验升级背后的故事:可用性原则与交互升级
  17. Jmeter接口测试生成测试报告(可视化图形!测试数据非常直观!).jmx文件生成.jtl文件并生成.html文件可视化图形测试报告
  18. 实验:DVWA-CSP Bypass(CSP绕过)
  19. 35岁到40岁,如何突破
  20. Ubuntu 16.04 源码编译安装GPU tensorflow(二)

热门文章

  1. React 深度学习:ReactFiberLazyComponent
  2. 00029_引用数据类型
  3. AdvStringGrid 垂直居中 、水平居中
  4. 阿里云直播PHP SDK如何使用
  5. JSONP跨域的原理解析及其实现介绍
  6. 【OpenCV】图像的通道分离
  7. Oracle_11g_R2安装手册(图文教程)
  8. 《老子》第八十一章 信言不美,美言不信
  9. 假设一个随机性和因果性的双重态
  10. 【Python】垃圾分类,调用阿里云API