首页 > 其他 > 详细

vs2015 cppunit配置及使用

时间:2020-05-20 22:14:16      阅读:77      评论:0      收藏:0      [点我收藏+]


第一步

下载源代码 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 &reg = 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配置及使用

原文:https://www.cnblogs.com/wstong/p/12924295.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!