linux下cppunit的安装和使用

Bree ·
更新时间:2024-09-21
· 781 次阅读

一、CppUnit linux 安装 CppUnit测试框架的源代码可以到 http://sourceforge.net/projects/cppunit/上下载,当前高版本为cppunit-1.12.0.tar.gz。 上传到linux服务器的某一个目录下(比如事先建立的/home/cppunit目录下)。接下来的步骤是在linux安装cppunit(我这里的版本RedHat是内核版本是2.4.20-8) [root@testhost testexample]# uname -a Linux testhost 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003 i686 i686 i386 GNU/Linux)。 第一步:解压文件 gzip –d  cppunit-1.12.0.tar.gz tar –xvf  cppunit-1.12.0.tar 第二步:编译cppunit的源代码(在windows下我们也要编译它) 跳转到源文件的目录:cd  ./ cppunit-1.12.0 生成make file文件,使用命令(需要查看configure详细命令可以输入info configure): ./configure (说明:$(CPPUNITSETUPDIR)表示安装目录(root用户安装缺省为/usr/local,没有超级用户权限的可以安装在自己建立的目录下)) 然后安装: make 然后检查安装可以跳过: make check 然后: make install (说明,make install并没有把头文件安装到/usr/include目录中,此时我们可以先把/home/cppunit/cppunit-1.12.0/include目录下的cppunit目录归档,使用命令tar -cvf cppunit.tar ./cppunit ,然后使用mv 命令把它移动到/usr/include目录下,然后在/usr/include目录下使用tar -xvf cppunit.tar 解规档即可。这样的做法有点类似于在VC环境下配置include的目录一样)在make check时可能会出现错误信息,可以不用管它。make install主要是将生成的静态链接库libcppunit.a和动态链接库libcppunit.so拷贝到$(CPPUNITSETUPDIR)/lib目录下,将头文件拷贝到$(CPPUNITSETUPDIR)/include目录下。 第三步:配置链接库路径,如果不配置路径可能会出现以下类似错误:error while loading shared libraries: libcppunit-1.10.so.2: cannot open shared object file: No such file or directory 实际上是找不到链接库,所以接下来我们使用vi 命令修改一下链接库配置文件/etc/ld.so.conf文件(呵呵,顺便说下,一般的配置文件都在/etc目录下)。在其中加入一行如下:/usr/local/lib  (说明:make install时把链接库文件复制到/usr/local/lib目录下了,在windows下我们同样需要配置库的搜索路径。),忘了告诉你,为了使配置文件生效,您还需要使用ldconfig命令重新装载一下可以了。可以使用:[root@testhost lib]# ldconfig -v | grep cppunit检查是否配置成功,到此为止,cppunit在linux下算完全安装完成了。为了验证是否能正常工作,下面例子可以帮助你: 二、        CppUnit linux 使用 下面的测试代码来源于[url]www.cppunit.sourceforge.net[/url]

#include <iostream> #include <cppunit/TestRunner.h> #include <cppunit/TestResult.h> #include <cppunit/TestResultCollector.h> #include <cppunit/extensions/HelperMacros.h> #include <cppunit/BriefTestProgressListener.h> #include <cppunit/extensions/TestFactoryRegistry.h>

class Test : public CPPUNIT_NS::TestCase {     CPPUNIT_TEST_SUITE(Test);     CPPUNIT_TEST(testHelloWorld);     CPPUNIT_TEST_SUITE_END();

    public:     void setUp(void) {}     void tearDown(void) {}

    protected:     void testHelloWorld(void) { std::cout << "Hello, world!" << std::endl; } };

CPPUNIT_TEST_SUITE_REGISTRATION(Test);

int main( int argc, char **argv ) {     // Create the event manager and test controller     CPPUNIT_NS::TestResult controller;

    // Add a listener that colllects test result     CPPUNIT_NS::TestResultCollector result;     controller.addListener( &result );       

    // Add a listener that print dots as test run.     CPPUNIT_NS::BriefTestProgressListener progress;     controller.addListener( &progress );     

    // Add the top suite to the test runner     CPPUNIT_NS::TestRunner runner;     runner.addTest( CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest() );     runner.run( controller );

    return result.wasSuccessful() ? 0 : 1; }



cppunit Linux 安装

需要 登录 后方可回复, 如果你还没有账号请 注册新账号