CppUnit——Hello, World
来源:互联网 发布:linux 启动java main 编辑:程序博客网 时间:2024/05/16 05:20
环境:VC2003
CppUnit:1.12.0
1.下载:
http://sourceforge.net/projects/cppunit/
2.安装(编译):
将下载的cppunit-1.12.0.tar.gz解压,这里解压到D:/cppunit-1.12.0
D:/cppunit-1.12.0下有个INSTALL-WIN32.txt,它里面包括源代码和几个测试例子,可以按照里面的说明来编译。
1)Open examples/examples.dsw in VC++ (contains all the samples).
用VC打开examples/examples.dsw
2)VC7 will ask you if you want to convert, anwser 'yes to all'.
VC7会询问你是否进行转换,选择“全是”
3)Make HostApp the Active project
设置HostApp为启动工程
4)Compile
编译
5)编译完了,程序会将生成的库自动拷到D:/cppunit-1.12.0/lib下
注:
1)对于cppunit和cppunit_dll,在工程属性-C/C++-代码生成-运行时库里设置的选项要和使用CppUnit进行测试的C++工程设置的一样,否则会报2005连接错误
2)由于没设置编译顺序,直接生成解决方案可能会有错误,多生成几次就正确了
3.使用:
1)新建一个名为UT的工程,编辑工程属性:
C/C++-常规-附加包含目录:"D:/cppunit-1.12.0/include"
链接器-常规-附加库目录:"D:/cppunit-1.12.0/lib"
链接器-输入-附加依赖项:cppunit.lib
2)添加要被测试的类calc:
//calc.h
#pragma once
class calc
{
public:
int add(int i, int j);
int sub(int i, int j);
};
//calc.cpp
#include "calc.h"
int calc::add(int i, int j)
{
return i + j;
}
int calc::sub(int i, int j)
{
return i - j;
}
注:此类只实现:整数的加,整数的减
3)添加用来测试的类calcTest:
//calcTest.h
#pragma once
#include <cppunit/TestFixture.h>
#include <cppunit/extensions/HelperMacros.h>
#include "calc.h"
class calcTest : public CPPUNIT_NS::TestFixture
{
//定义一个测试套
CPPUNIT_TEST_SUITE(calcTest);
//添加测试用例
CPPUNIT_TEST(addTest1);
CPPUNIT_TEST(subTest1);
//测试套定义结束
CPPUNIT_TEST_SUITE_END();
public:
//用来进行测试前的设置,比如内存申请等
void setUp();
//用来进行测试后的设置,比如内存释放等
void tearDown();
void addTest1();
void subTest1();
private:
calc* m_pcalc;
};
//calcTest.cpp
#include "calcTest.h"
void calcTest::setUp()
{
m_pcalc = new calc();
}
void calcTest::tearDown()
{
delete m_pcalc;
}
void calcTest::addTest1()
{
//执行测试函数
int iRet = m_pcalc->add(1, 2);
//断言结果
CPPUNIT_ASSERT(3 == iRet);
}
void calcTest::subTest1()
{
//执行测试函数
int iRet = m_pcalc->sub(1, 2);
//断言结果
CPPUNIT_ASSERT(-1 == iRet);
}
4)添加执行测试的主文件main.cpp:
#include "cppunit/CompilerOutputter.h"
#include "cppunit/ui/text/TestRunner.h"
#include "cppunit/extensions/HelperMacros.h"
#include "calcTest.h"
#include <fstream>
int main()
{
//测试执行者
CppUnit::TextUi::TestRunner oTestRunner;
//增加测试装置
oTestRunner.addTest(calcTest::suite());
//输出到文件
std::ofstream fout("./test.log");
oTestRunner.setOutputter(CppUnit::CompilerOutputter
::defaultOutputter(&oTestRunner.result(), fout));
//执行用例
oTestRunner.run();
}
- CppUnit——Hello, World
- 在Hello World使用CPPUnit进行单元测试
- Metapost—Hello World
- 《Hello World——java》
- 《Hello World——C#》
- 开篇——hello,world!
- Hello world ——1
- JBPM6——Hello World
- NDK——hello world
- hibernate5 —— hello world
- ExtJS4——hello world
- CSDN——hello world。
- LYOS —— Hello World
- JavaScript——Hello World
- JBPM6——Hello World
- HELLO WORLD!—凡猫
- python爬虫—hello world!
- Hello World! 不容易——汇编 Hello Wold
- 丢开只读更新
- 转换(0):常用命令
- 讯闪只读更新母盘制作流程
- ----只读更新全攻略----
- 笔记本上开启小键盘的快捷键
- CppUnit——Hello, World
- Words To Live By
- 常用js收集
- linux ps 命令详解
- 简单的用 Java Socket 编写的 HTTP 服务器应用,帮助学习HTTP协议
- 今天一个奇怪的错误
- C++引用与指针的比较
- 落户上海市高校毕业生就业指导中心集体户口办理办法
- 通过代理截取并修改非对称密钥加密信息