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

www.18ie.com 欢迎留言

飞涛软件工作室
2006-09-27 19:30:19
Warning: MkDir failed (Disc quota exceeded) in /z1/18ie/public_html/count/html/count.php on line 12

Warning: fopen("/z1/18ie/public_html/count/html/2008_07/06_every.txt", "a+") - No such file or directory in /z1/18ie/public_html/count/html/count.php on line 42

Warning: Supplied argument is not a valid File-Handle resource in /z1/18ie/public_html/count/html/count.php on line 43

Warning: Supplied argument is not a valid File-Handle resource in /z1/18ie/public_html/count/html/count.php on line 46

Warning: Supplied argument is not a valid File-Handle resource in /z1/18ie/public_html/count/html/count.php on line 48

Warning: Supplied argument is not a valid File-Handle resource in /z1/18ie/public_html/count/html/count.php on line 49

全部文章