google搜索 51Testing站内搜索                    软件测试门户 | 软件测试培 训 | 文章资料精选 | 软件测试论坛 | 软件测试博客 | 测试招聘求职 
打印

求教cppunit的问题

求教cppunit的问题


我用的是cppunit 1.10.2版本

#include "C:\\Program Files\\cppunit-1.10.2\\include\\cppunit\\extensions\\TestFactoryRegistry.h"
#include "C:\\Program Files\\cppunit-1.10.2\\include\\cppunit\\ui\\mfc\\TestRunner.h"
int main()
{
        //CppUnit::TextUi::TestRunner runner;
        CppUnit::MfcUi::TestRunner runner;
        CppUnit::TestFactoryRegistry &registry = CppUnit::TestFactoryRegistry::getRegistry("alltest");

        runner.addTest(registry.makeTest());
        runner.run();
       
        return 0;
}
编译后出现

c:\program files\cppunit-1.10.2\include\cppunit\ui\mfc\mfctestrunner.h(53) : error C2079: 'MfcTestRunner' uses undefined class 'AFX_EXT_CLASS'
c:\program files\cppunit-1.10.2\include\cppunit\ui\mfc\mfctestrunner.h(53) : error C2239: unexpected token '{' following declaration of 'MfcTestRunner'
c:\\program files\\cppunit-1.10.2\\include\\cppunit\\ui\\mfc\\testrunner.h(14) : error C2146: syntax error : missing ';' before identifier 'TestRunner'
c:\\program files\\cppunit-1.10.2\\include\\cppunit\\ui\\mfc\\testrunner.h(14) : error C2370: 'MfcTestRunner' : redefinition; different storage class
        c:\program files\cppunit-1.10.2\include\cppunit\ui\mfc\mfctestrunner.h(53) : see declaration of 'MfcTestRunner'
c:\\program files\\cppunit-1.10.2\\include\\cppunit\\ui\\mfc\\testrunner.h(14) : error C2888: 'int CppUnit::MfcTestRunner' : symbol cannot be defined within namespace 'MfcUi'
c:\\program files\\cppunit-1.10.2\\include\\cppunit\\ui\\mfc\\testrunner.h(14) : fatal error C1004: unexpected end of file found
Error executing cl.exe.


使用#include "C:\\Program Files\\cppunit-1.10.2\\include\\cppunit\\ui\\mfc\\TestRunner.h"就没有问题。
是什么原因?请高手指点一下,先谢了

TOP

如果搞不清楚的话,建议按照cppUni自带的例子的设置来设置。

TOP

看了各位大虾的质料,个人认为可能是以下原因:
   使用mfc\\TestRunner.h,则只能在InitInstance()函数中添加
        CppUnit::MfcUi::TestRunner runner;
        CppUnit::TestFactoryRegistry &registry = CppUnit::TestFactoryRegistry::getRegistry("alltest");

        runner.addTest(registry.makeTest());
        runner.run();
这是Mfc工程。运行后为mfc界面方法

建立console工程,只能使用Text\\TestRunner.h
在main 函数中添加
CppUnit::TextUi::TestRunner runner;
        CppUnit::TestFactoryRegistry &registry = CppUnit::TestFactoryRegistry::getRegistry("alltest");

        runner.addTest(registry.makeTest());
        runner.run();
运行后console方法。

不知道是不是这个原因?

TOP

 
当前时区 GMT+8, 现在时间是 2008-10-13 10:59Copyright(C)上海博为峰软件技术有限公司 2001-2007 电话:021-64471599-8017
当您在访问网站、论坛及博客过程中遇到问题时可发送email:webmaster@51testing.com或发送论坛短信至管理员风在吹