cppunit 的例子
看了好几天cppunit,代码读着真难受,简直让人恶心。 好几次,都想放弃用cppunit了,也不知道cppunit到底有何方便的,一帮子人在吹,到底谁在实践中用过? 还不如自己用assert()写测试,来的方便、快捷,容易读。 今天,总算找到一个容易明白些的例子,分析并写一下自己的体会 :
class SimpleCalcTest : public CPPUNIT_NS::TestFixture{
CPPUNIT_TEST_SUITE( SimpleCalcTest );
CPPUNIT_TEST( testAdd );
CPPUNIT_TEST( testSub );
CPPUNIT_TEST( testMul);
CPPUNIT_TEST( testDiv );
CPPUNIT_TEST_SUITE_END();
private :
SimpleCalculator * sc;
public:
virtual void setUp(){
sc = new SimpleCalculator();
}
virtual void tearDown(){
delete sc;
}
void testAdd(){
CPPUNIT_ASSERT_EQUAL( sc->add(5,6), 11);
}
void testSub(){
CPPUNIT_ASSERT_EQUAL( sc->sub(5,6), -1 );
}
void testMul(){
CPPUNIT_ASSERT_EQUAL( sc->mul(5,6), 30 );
}
void testDiv(){
CPPUNIT_ASSERT_EQUAL( sc->div(12,6), 2 );
}
};
CPPUNIT_TEST_SUITE_REGISTRATION( SimpleCalcTest );
主函数如下:
int main()
{
CPPUNIT_NS::TestResult r;
CPPUNIT_NS::TestResultCollector result;
r.addListener( &result );
CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest()->run( &r );
CPPUNIT_NS::TextOutputter out( &result, std::cout );
out.write();
return 0;
}
我对这段代码的理解:
理解1) 主函数,天生就是这个样子,里面怪异的语句,不用去理解,也不用改动,除非你不怕浪费脑细胞,想去研究cppunit的内部结构。
理解2)实际应用时,需要把要测试的类名换成自己的类名,修改2点:
SimpleCalculator * sc;
sc = new SimpleCalculator();
把要测试的类名SimpleCalculator,换成自己的类名。
至于SimpleCalcTest (如果你和我一样懒,连这个类名也不用动)
理解3)如果想新加一个测试例,只需要2步:
1)增加 CPPUNIT_TEST( testNew);
2) 增加 void testNew(){
CPPUNIT_ASSERT_EQUAL( sc->mul(5,6), 30 ); //自己修改
}
这些只是我看代码的体会,在自己脑子里转来转去的“悟道”,还没有在真实的开发环境中检验。
看客当心被我“误导”呀。
马飞涛
另外一个mfc dialog 类型的测试用例:
http://codeproject.com/library/Using_CPPUnit.asp?print=true
http://www.opensourcetesting.org/unit_c.php
xushiwei said,
September 28, 2006 @ 14:05
CppUnit初用可能不习惯,但是还算不错。
用了一下你的桌面搜索,有一点不太习惯,就是不支持filetype。
xushiwei said,
September 28, 2006 @ 14:06
关于google搜索指令,我整理了一下,你可以参考:
http://xushiwei.blogspot.com/2006/09/google.html
mft said,
September 28, 2006 @ 19:32
看了你写的winx的介绍,计划很宏大。
>>尽管目前尚且没没有专门针对WINX进行可视化界面开发的工具,但是它是WINX的发展方向.
当没有可视化界面开发的工具的时候,我肯定不会用winx来进行开发。 替代方法是:一些人会选用c++ builder来编程;而我会采用delphi来写界面,用c++来写1个dll,让delphi的主界面来调用。
我感觉:(1) 用mfc来写界面,真的让人很恶心。开发效率相比delphi低极了。
(2)c++的精华,在于stl, 很简洁方便的库。希望你的winx用起来的感觉能像用stl一样。当我用delphi玩算法玩不转的时候,我就用stl来写一些dll,让delphi来调用。
继续努力,希望你的可视化界面开发的工具早日问世,让我也来享受一下在vc下开发界面的美好感觉。
xushiwei said,
October 13, 2006 @ 11:51
嗯,目前winx仅支持用Windows资源编辑器(Visual C++的或者其他如Borland的Workshop等)进行半可视开发。这里有介绍:http://winxcn.blogspot.com/2006/10/customcontrol.html
hotel in assisi said,
April 1, 2007 @ 19:18
hotel in assisi...
飞涛软件工作室出售桌面搜索引擎源代码» cppunit 的例子...