﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-yeqing-文章分类-unit test</title><link>http://www.cppblog.com/yeqing/category/2889.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 22 May 2008 23:31:47 GMT</lastBuildDate><pubDate>Thu, 22 May 2008 23:31:47 GMT</pubDate><ttl>60</ttl><item><title>cpp unit在linux下的安装和调试</title><link>http://www.cppblog.com/yeqing/articles/14279.html</link><dc:creator>夜沁</dc:creator><author>夜沁</author><pubDate>Fri, 27 Oct 2006 06:50:00 GMT</pubDate><guid>http://www.cppblog.com/yeqing/articles/14279.html</guid><wfw:comment>http://www.cppblog.com/yeqing/comments/14279.html</wfw:comment><comments>http://www.cppblog.com/yeqing/articles/14279.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/yeqing/comments/commentRss/14279.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/yeqing/services/trackbacks/14279.html</trackback:ping><description><![CDATA[
		<font color="#808080" size="2">OS：linux<br />CppUnit：cppunit-1.11.6<br />1、下载、解压<br />     到</font>
		<a href="http://sourceforge.net/projects/cppunit">
				<font color="#808080" size="2">http://sourceforge.net/projects/cppunit</font>
		</a>
		<font color="#808080" size="2">下载，然后复制cppunit-1.11.6.tar.gz到/usr/src；   <br />    运行：tar -xf cppunit-1.10.2.tar.gz 解压缩；或者在WIN下直接解压<br />2、安装<br />进入cppunit-1.11.6目录下。依次运行下列命令<br />      A ：./configure;   <br />B ：make; <br />      C ：make check; <br />      D：make install<br />3、已经copy *.h文件.o, .a文件已经安装到/usr/local/lib中去了，但头文件没安装到/usr/include中去<br />把cppunit-1.10.2的cppunit目录复制到/usr/include下<br />4、导入lib<br />运行时要先设置环境变量LD_LIBRARY_PATH到cppunit的安装目录，也就是/usr/local/lib，命令如下：<br />       export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH<br />5、编写测试程序<br />testApp.cpp<br />#include &lt;iostream&gt;<br />  <br />#include &lt;cppunit/TestRunner.h&gt;<br />#include &lt;cppunit/TestResult.h&gt;<br />#include &lt;cppunit/TestResultCollector.h&gt;<br />#include &lt;cppunit/extensions/HelperMacros.h&gt;<br />#include &lt;cppunit/BriefTestProgressListener.h&gt;<br />#include &lt;cppunit/extensions/TestFactoryRegistry.h&gt;<br /> <br /> <br />class Test : public CPPUNIT_NS::TestCase<br />{<br /> CPPUNIT_TEST_SUITE(Test);<br /> CPPUNIT_TEST(testHelloWorld);<br />   CPPUNIT_TEST_SUITE_END();<br /> <br /> public:<br />   void setUp(void) {}<br />   void tearDown(void) {} <br /> <br /> protected:<br />   void testHelloWorld(void) { std::cout &lt;&lt; "Hello, world!" &lt;&lt; std::endl; }<br /> };<br /> <br /> CPPUNIT_TEST_SUITE_REGISTRATION(Test);<br /> <br /> int main( int argc, char **argv )<br /> {<br />   // Create the event manager and test controller<br />   CPPUNIT_NS::TestResult controller;<br /> <br />   // Add a listener that colllects test result<br />   CPPUNIT_NS::TestResultCollector result;<br /> controller.addListener( &amp;result );        <br /> <br />   // Add a listener that print dots as test run.<br />   CPPUNIT_NS::BriefTestProgressListener progress;<br />   controller.addListener( &amp;progress );      <br /> <br />   // Add the top suite to the test runner<br />   CPPUNIT_NS::TestRunner runner;<br />   runner.addTest( CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest() );<br />   runner.run( controller );<br /> <br />   return result.wasSuccessful() ? 0 : 1;<br /> }<br />6、编译，运行<br />   有两种方法<br />    (a) 链接静态库。编译命令：<br />      g++ -L/usr/local/lib/libcppunit.a testApp.cpp -lcppunit -ldl -o testApp<br />    运行：<br />      ./ testApp<br />    结果：<br />     Test::testHelloWorldHello, world!<br />    : OK<br />    (b) 链接动态库。编译命令：<br />       g++ testApp.cpp -lcppunit -ldl -o testApp<br />    然后运行：<br />       ./ testApp<br />    结果：<br />    Test::testHelloWorldHello, world!<br />    : OK<br />7、其他例子<br />在cppunit-docs-1.11.6中有文档money_example.html，该文档详细的介绍了测试、开发的过程；<br /></font>
<img src ="http://www.cppblog.com/yeqing/aggbug/14279.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/yeqing/" target="_blank">夜沁</a> 2006-10-27 14:50 <a href="http://www.cppblog.com/yeqing/articles/14279.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>