如何创建第一个cppunit测试项目?实践出真知!

创建第一个CPPUNIT测试项目

 

 查阅了几十篇网文,经过了十多次失败,终于编译成功了。在这个过程中,深切的体会到网络的文章大多数都是语焉不详,或不够完整。有的甚至会引导你走些弯路。

在此记录下如何成功创建第一个cppunit项目,为所有cppunit的新来者提供参考。

一准备CPPUNIT的开发库

1.     到http://sourceforge.net/projects/cppunit/下载CppUnit测试框架的源代码, 解压文件(解压后位于:E:\自动化测试\cppunit-1.10.2),进入src文件夹,打开CppUnitLibraries.dsw.

2.     右键单击解决方案名称“CppUnitLibraries”,选择“重新生成解决方案”: 编译,输出位置为lib文件夹。

3.     在VC的工具-选项-项目和解决方案-VC++目录:

“包含文件”——增加“E:\自动化测试\cppunit-1.10.2\include”;

“库文件”——增加“E:\自动化测试\cppunit-1.10.2\lib

4.     修改path环境变量,增加“E:\自动化测试\cppunit-1.10.2\lib

 

二创建第一个基于CPPUNIT的测试项目“cppunit3”

1. 新建-项目-Visual C++-Win32-Win32控制台应用程序:

   输入解决方案名称:cppunit3

   位置:E:\自动化测试\cppunit

 

2. 在cppunit3.cpp中做以下修改:

 

   1)在main函数前增加以下代码:

  #include <cppunit/TestCase.h>

#include <cppunit/TestResult.h>

#include <cppunit/TestResultCollector.h>

#include <cppunit/TextOutputter.h> 

 

class SimpleTest : public CppUnit::TestCase

{

public:

    void runTest() // 重载测试方法

     {

        int i = 1;

         CPPUNIT_ASSERT_EQUAL(0, i);

     }

};

 

2)main的函数主体内容修改为:

       CppUnit::TestResult r;

     CppUnit::TestResultCollector rc;

     r.addListener(&rc); // 准备好结果收集器

 

     SimpleTest t;

     t.run(&r); // 运行测试用例

 

     CppUnit::TextOutputter o(&rc, std::cout);

     o.write(); // 将结果输出

 

    return 0;

 

三编译(F7

   编译时,出现“无法解析的外部符号”致命错误,解决办法

1.项目(Project)->属性(Properties)->配置属性(Configuration Properties)-> C/C++ -> 代码生成(Code Generation):

基本运行时检测(Basic Runtime Check)改为默认(Default);

缓冲区安全检测(Buffer Security Check)改为否(No);

2. 项目(Project)->属性(Properties)->配置属性(Configuration Properties)-> 连接器-> 输入:

附加依赖项:cppunitd.lib

 

编译中,还可能出现“无法识别的外部符合”致命错误,解决办法是将拷贝过去的代码的空格全部删除。原因是有的空格是全角格式,不能识别。

 

编译通过。

 

四运行:开始执行(不调试)

 

界面上出现

 !!!FAILURES!!!
Test Results:
Run: 1 Failures: 1 Errors: 0

1) test: (F) line: 18 E:\CppUnitExamples\SimpleTest.cpp
equality assertion failed
- Expected: 1
- Actual : 0

 

与示例程序一致,项目调试成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值