vs2015 cppunit配置及使用
第一步
下载源代码 http://sourceforge.net/projects/cppunit/files/cppunit/1.12.1/cppunit-1.12.1.tar.gz/download
第二步
解压下载的文件,并进入到src目录,打开CppUnitLibraries.dsw
提示升级安装什么的,都点确定
右键cppunit,选择属性,在弹出窗口将目标文件名由\(\$(ProjectName)\)改成\(\$(ProjectName)d\)
右键cppunit_dll,选择属性,在弹出窗口将目标文件名由\(\$(ProjectName)\)改成cppunitd_dll
右键DllPlugInTester,选择属性,在弹出窗口将目标文件名由\(\$(ProjectName)\)改成\(\$(ProjectName)d\_dll\)
右键TestPlugInRunner,选择属性,在弹出窗口将目标文件名由\(\$(ProjectName)\)改成\(\$(ProjectName)d\)
右键TestRunner,选择属性,在弹出窗口将目标文件名由\(\$(ProjectName)\)改成\(\$(ProjectName)d\)
第三步
右键DSPlugin,选择属性,在配置属性-链接器-高级,将无入口点改为 是
打开TestRunner-UserInterface-MsDevCallerListCtrl.cpp,在67行中将version由7.0改成8.0
编译生成lib库
选择生成-批生成
全选后点击生成
结果
使用
新建一个项目
右键项目-属性
配置属性-VC++目录
包含目录添加include
库目录添加lib
配置属性-链接器-输入
附加依赖项添加cppunitd.lib
calculator类测试
总共要建立5个文件,建完分布如下
代码部分
// calculator.h
#pragma once
#ifndef CALCULATOR_H_
#define CALCULATOR_H_
class Calculator {
public:
Calculator();
void add(double x);
void substract(double x);
void multiply(double x);
void divide(double x);
void square(double x);
void suqareRoot(double x);
void clear();
double get_result();
private:
double result;
};
#endif // CALCULATOR_H_
// calculator.cpp
#include "stdafx.h"
#include "calculator.h"
#include <iostream>
#include <cmath>
using namespace std;
Calculator::Calculator() : result(0.0) {}
void Calculator::add(double x) {
result += x;
}
void Calculator::substract(double x) {
result -= x;
}
void Calculator::multiply(double x) {
result *= x;
}
void Calculator::divide(double x) {
result /= x;
}
void Calculator::square(double x) {
result = x * x;
}
void Calculator::suqareRoot(double x) {
result = pow(result, x);
}
void Calculator::clear() {
result = 0;
}
double Calculator::get_result() {
return result;
}
// test_calculator.h
#pragma once
#include <cppunit/extensions/HelperMacros.h> // 头文件
class test_calculator : public CppUnit::TestFixture
{
CPPUNIT_TEST_SUITE(test_calculator);
// 添加两个测试函数
CPPUNIT_TEST(test_calculator1);
CPPUNIT_TEST(test_calculator2);
CPPUNIT_TEST(test_calculator3);
CPPUNIT_TEST_SUITE_END();
public:
void setUp();
void tearDown();
test_calculator();
~test_calculator();
void test_calculator1();
void test_calculator2();
void test_calculator3();
};
// test_calculator.cpp
#include "stdafx.h"
#include "test_calculator.h"
#include "calculator.h"
#include <iostream>
using namespace std;
// 将测试包注册为aTest
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(test_calculator, "aTest");
test_calculator::test_calculator() {}
test_calculator::~test_calculator() {}
void test_calculator::setUp()
{
cout << "begin test" << endl;
}
void test_calculator::tearDown() {
cout << "end test" << endl;
}
void test_calculator::test_calculator1()
{
Calculator cal; // 创建一个计算器类
cal.add(100);
CPPUNIT_ASSERT(cal.get_result() == 100);
}
void test_calculator::test_calculator2()
{
Calculator cal;
cal.add(123);
cal.multiply(100);
CPPUNIT_ASSERT(cal.get_result() == 12300);
}
void test_calculator::test_calculator3()
{
Calculator cal;
cal.add(123);
cal.divide(123);
CPPUNIT_ASSERT(cal.get_result() == 1);
}
// test_main.cpp
#include "stdafx.h"
#include <cppunit/extensions/TestFactoryRegistry.h>
#include <cppunit/ui/text/TestRunner.h>
#include <cppunit/TestResult.h>
#include <cppunit/TestResultCollector.h>
#include <cppunit/BriefTestProgressListener.h>
#include <cppunit/CompilerOutputter.h>
int _tmain()
{
CPPUNIT_NS::TestResult tr;
CPPUNIT_NS::TestResultCollector trc;
tr.addListener(&trc);
CPPUNIT_NS::BriefTestProgressListener progress;
tr.addListener(&progress);
CPPUNIT_NS::TestRunner runner;
CPPUNIT_NS::TestFactoryRegistry ® = CppUnit::TestFactoryRegistry::getRegistry("aTest");
runner.addTest(reg.makeTest());
runner.run(tr);
CPPUNIT_NS::CompilerOutputter outputter(&trc, CPPUNIT_NS::stdCOut());
outputter.write();
system("pause");
return 0;
}
vs2015 cppunit配置及使用的更多相关文章
- OpenCV3.2 + VS2015环境配置
一.准备工作: (1) 到OpenCV的官网(http://opencv.org/)下载OpenCV3.2 (2) 安装好VS2015. (3) 计算机系统:Win7(Win8, Win1 ...
- 从零开始编译Poco C++和VS2015环境配置
Poco C++是一个C++的开源框架,详细介绍可以问百度介绍更详细,这里我就记录下我从零编译poco-1.9.0和配置 VS2015的环境,以备不时之需. 步骤:一.安装cmake: 二.编译poc ...
- VS2015中配置Eigen
Eigen非常方便矩阵操作,当然它的功能不止如此.矩阵操作在算法研究过程中,非常重要,例如在图像处理中二维高斯拟合求取光斑中心时使用Eigen提供的矩阵算法,差不多十来行代码即可实现. 1)下载Eig ...
- OpenGL + VS2015 + Windows10配置
官网下载OpenGL:https://www.opengl.org/resources/libraries/glut/ 解压后得到5个文件:glut.h,glut.dll,glut32.dll,glu ...
- FFTW3学习笔记1:VS2015下配置FFTW3(快速傅里叶变换)库
一.FFTW简介 FFTW ( the Faster Fourier Transform in the West) 是一个快速计算离散傅里叶变换的标准C语言程序集,其由MIT的M.Frigo 和S. ...
- vs2015终于配置完成了
安装vs2015,本来应该直接安装vs2015withupdate3的,但是由于当时手上只有vs2015的包,于是直接安装了. 打开C++工程cntk的时候提示需要安装很多东西包括vc编译工具.pyt ...
- (一)VS2015下配置OpenGL
刚开始用OpenGL,一开始不太明白配置库的原理,在VS2015下耗费了大量时间.这里将配置过程做个笔记,以供日后查看.配置过程中,需要下载cmake构建工具以及glew和glfw库. 下载地址为: ...
- 17 win7 sp1 x64/VS2015下配置creo4.0二次开发环境——调用了众多开源库(ceres-solver,PCL1.8.0,office 2016COM接口,MySql数据库等)
0 引言 本次开发环境的配置是在综合考虑了开源库的版本.VS版本以及CREO4.0的版本,同时针对甲方需求选择了win7 sp1 x64系统. 配置的过程中遇到了形形色色的问题,但是一一解决了.通过这 ...
- opencv3.2.0+opencv_contrib-3.2.0+vs2015开发配置
在sift算法实现中,出现了这个问题 出现问题:\vs2015opencv\vs2015\project\mode\mode\sift算法1.cpp(3): fatal error C1083: 无法 ...
随机推荐
- Jest 前端单元测试工具
Jest和enzyme 前端单元测试工具 什么是Jest? Jest是一个令人愉悦的JavaScript测试框架,其重点是简单性. 它适用于使用以下项目的项目:Babel,TypeScript,Nod ...
- PHP pcntl
来源:https://www.jianshu.com/p/de0b74f58f50 pcntl是一个可以利用操作系统的fork系统调用在PHP中实现多线程的进程控制扩展,当使用fork系统调用后执行的 ...
- 2019-2020-1 20199325《Linux内核原理与分析》第四周作业
start_kernel函数的执行过程 asmlinkage __visible void __init start_kernel(void) { char *command_line; char * ...
- [Qt] QlineEdit 限制输入,例如只能输入整数
要注意validor的作用域,如果超出作用域,则会无效.例如下面的代码,在UI的类的构造函数里.所以要new一个validtor. QIntValidator *intValidator = new ...
- vue + ArcGIS 地图应用系列一:arcgis api本地部署(开发环境)
封面 1. 下载 ArcGIS API for JavaScript 官网地址: https://developers.arcgis.com/javascript/3/ 下载地址:http://lin ...
- 5.Python是怎么解释的?
Python是怎么解释的? Python language is an interpreted language. Python program runs directly from the sour ...
- 数据库SQL语言从入门到精通--Part 1--SQL语言概述
数据库从入门到精通合集(超详细,学习数据库必看) 一.SQL概述 关系数据库标准语言SQL(结构化查询语言). 结构化查询语言(Structured Query Language)简称SQL,是一种特 ...
- 我想solo自己一个人!
区域赛之后你就该走了,现在你告诉我,没精力不打了,我真谢谢你! 今年就TM的没有一点舒心的地方! 父母分居, 队友出走, 队伍解散, 白天家里两个外甥很吵, 鼻窦炎复发, 喜欢的妹子也追不到, 整夜失 ...
- 在Jetson TX2上捕获、显示摄像头视频
参考文章:How to Capture and Display Camera Video with Python on Jetson TX2 与参考文章大部分都是相似的,如果不习惯看英文,可以看看我下 ...
- CentOS7 安装boost
(1)到这个网址www.boost.org下载相应的代码包,我下载的是目前最新的版本boost_1_59_0.tar.bz2 (2)进入目录执行解压操作:tar -jxvf boost_1_59_0. ...