该篇文章是我于2009年6月10日通过自己编写的工具,批量从位于在博客园的博客站点(http://chenxizhang.cnblogs.com)同步而来。文章中的图片地址仍然是链接到博客园的。特此说明! 陈希章原文地址:http://www.cnblogs.com/chenxizhang/archive/2009/06/05/1496634.html原文标题:C++单元测试工具CppUnit使用简介 【转载】 原文发表:2009/6/5 0:53:00 |
本文转载自:http://blog.youkuaiyun.com/liflag888/archive/2006/09/21/1261435.aspx
准备工作:
1. 到 http://sourceforge.net/projects/cppunit/下载CppUnit测试框架的源代码
2. 解压文件,进入src文件夹,打开CppUnitLibraries.dsw。分别编译这两个project,输出位置均为lib文件夹。
3.在VC的tools/options/directories/include files和library files中设置include路径和lib路径。
4.右键我的电脑设定->高级->环境变量->系统变量->Path中,将Cppuint的目录的lib路径设置为系统搜索路径
创建测试工程:
1.打开VC新建基于MFC对话框的Project,在stdafx.h中添加
#include
#include
#include
#ifdef _DEBUG
#pragma comment( lib, "testrunnerd.lib" )
#pragma comment( lib, "CppUnitd.lib" )
#else
#pragma comment( lib, "testrunner.lib" )
#pragma comment( lib, "CppUnit.lib" )
#endif
using namespace CppUnit;
2.修改对话框初始化函数
CUnitTestApp::InitInstance()
{
MfcUi::TestRunner runner;
runner.addTest( TestFactoryRegistry::getRegistry("SamepleUnitTest").makeTest() );
runner.run(); //show UI
/*
CUnitTestDlg dlg;
m_pMainWnd = &dlg;
INT_PTR nResponse = dlg.DoModal();
if (nResponse == IDOK)
{......}
*/
}
3.将要测试的project加入到本project中,实现测试用例类
class CSamepleTestCase : public TestCase
{
public:
CSamepleTestCase(void);
virtual ~CSamepleTestCase(void);
CPPUNIT_TEST_SUITE(CSamepleTestCase);
CPPUNIT_TEST( TestAdd );
CPPUNIT_TEST_SUITE_END();
VOID TestAdd( );
};
在CPP文件中
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( CSamepleTestCase,"SamepleUnitTest" );
#include <另一个工程中的头文件>
void CSamepleTestCase::TestAdd( void )
{
//在这里写测试用例CPPUNIT_ASSERT_EQUAL( 1, 1);
}
作者:陈希章 出处:http://blog.youkuaiyun.com/chen_xizhang 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |