在vs2015下配置和使用 cppunit v1.21.1

原文地址

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

目录

 

第一步

下载源代码 http://sourceforge.net/projects/cppunit/files/cppunit/1.12.1/cppunit-1.12.1.tar.gz/download

第二步

解压下载的文件,并进入到src目录,打开CppUnitLibraries.dsw


提示升级安装什么的,都点确定


右键cppunit,选择属性,在弹出窗口将目标文件名由$(ProjectName)$(ProjectName)改成$(ProjectName)d$(ProjectName)d


右键cppunit_dll,选择属性,在弹出窗口将目标文件名由$(ProjectName)$(ProjectName)改成cppunitd_dll


右键DllPlugInTester,选择属性,在弹出窗口将目标文件名由$(ProjectName)$(ProjectName)改成$(ProjectName)d_dll$(ProjectName)d_dll
右键TestPlugInRunner,选择属性,在弹出窗口将目标文件名由$(ProjectName)$(ProjectName)改成$(ProjectName)d$(ProjectName)d
右键TestRunner,选择属性,在弹出窗口将目标文件名由$(ProjectName)$(ProjectName)改成$(ProjectName)d$(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;
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值