首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

cppunit 使用安装

Posted on 2006-03-07 12:47  昕旸灿烂  阅读(579)  评论(0)    收藏  举报

安装

  1. 将cppunit的include拷贝到你的include目录下;
  2. 编译cppunit, cppunit_dll, 最后应该包含4个.lib, 两个.dll
    • 将lib文件拷贝到你的lib目录下
    • 将dll文件拷贝到你的bin目录下,这个目录应该在环境变量PATH中。
  3. 如果使用MFC进行GUI的testrunner,还需要编译testrunner项目,然后
    • 将对应的4个lib文件拷贝到你的lib目录
    • 将对应的4个dll文件拷贝到你的bin目录下
  4. 安装 AddingUnitTestMethod.dsm 到你的 msdev 6.0 。AddingUnitTestMethod.dsm 从AddingUnitTestMethod.zip下载。我修改了一下,添加了一个addSuiteMethod的方法。

基于GUI的测试

  1. 新建一个基于dialog的项目
  2. 插入你要测试的类或方法的源文件。
  3. 修改App类中的Instance方法
  4. 添加下列头文件
    • #include <cppunit/ui/mfc/TestRunner.h>
    • #include <cppunit/extensions/TestFactoryRegistry.h>
    • #include "xxxSuite.h"
  5. 替换
    • CCPlusTestDlg dlg;
    • m_pMainWnd = &dlg;
    • int nResponse = dlg.DoModal();
    • if (nResponse == IDOK) {
    • // TODO: Place code here to handle when the dialog is
    • // dismissed with OK
    • } else if (nResponse == IDCANCEL) {
    • // TODO: Place code here to handle when the dialog is
    • // dismissed with Cancel
    • }

    • CppUnit::MfcUi::TestRunner runner;
    • runner.addTest(xxxSuite::suite()); //添加测试
    • runner.run(); //show UI
  6. 修改Project Settings
    • Project /setting/ (C/C++) / C++ Language / RTTI 选中
    • 添加testrunner.lib cppunit.lib
    • 确认项目时使用/MD or /MDd边
  7. 使用宏 AddingUnitTestMethod.dsm / addSuilt method 增加 test Suite
  8. 使用宏 AddingUnitTestMethod.dsm / addClass method 增加 test class.
  9. 查找xxxSuite修改成为对应的Suite名称
  10. 在你的test class中增加测试方法,原型必须是 void* ()
  11. 在class view中点击该方法,到达该方法cpp中的声明的第一行,然后使用 AddingUnitTestMethod.dsm / addTestMethod 添加测试方法声明。
  12. 编写测试代码,添加 CPPUNIT_ASSERT_EQUAL()等测试宏
  13. 编译测试,或继续到添加测试类或方法。

基于TEXT

  1. 同基于GUI的基本相同,区别的部分是:
  2. 要新建一个console项目
  3. 在main函数中如下
    • #include <cppunit/ui/Text/TestRunner.h>
    • #include <cppunit/extensions/TestFactoryRegistry.h>
    • #include "xxxSuite.h"
    • int main()
    • {
    • CppUnit::TextUi::TestRunner runner;
    • runner.addTest(xxxSuite::suite());
    • runner.run();
    • }
  4. 仅添加cppunit.lib即可