CppUnit 遇到的問題和解決方法

2021-04-19 20:33:56 字數 1610 閱讀 6949

cppunit是乙個很方便的unit test工具, 這幾天學習cppunit中遇到兩個小問題, 可能會讓新手很煩惱,在這裡提供解決的方法。

1. 在使用vs2003以上版本的visual studio時, build project testpluginrunner會失敗,出現如下的error:

這是因為cppunit會用到vs ide來定位和顯示錯誤的test case的原始檔和**行, 而匯入的ide com物件的version不正確,只需要把project testpluginrunner 檔案msdevcallerlistctrl.cpp 67行

#import "libid:80cc9f66-e7d8-4ddd-85b6-d9e6cd0e93e2"version("7.0")lcid("0") raw_inte***ces_only named_guids

改為:#if _msc_ver >= 1300 && _msc_ver 

//vs 2003

#import "libid:80cc9f66-e7d8-4ddd-85b6-d9e6cd0e93e2" version("7.0") lcid("0") raw_inte***ces_only named_guids

#elif _msc_ver >= 1400 && _msc_ver 

//vs 2005

#import "libid:80cc9f66-e7d8-4ddd-85b6-d9e6cd0e93e2" version("8.0") lcid("0") raw_inte***ces_only named_guids

#elif _msc_ver >= 1500

//vs 2008   

#import "libid:80cc9f66-e7d8-4ddd-85b6-d9e6cd0e93e2" version("9.0") lcid("0") raw_inte***ces_only named_guids

#endif

重新build該project即可。

2. 在使用testpluginrunner執行testcase後,雙擊listcontrol中失敗的case會出現乙個失敗的斷言,該錯誤是因為使用vs2003或更高版本時,testpluginrunner沒有呼叫coinitialize初始化.

將project testpluginrunner檔案msdevcallerlistctrl.cpp中把namespace vc7handler中的**

static

bool initialize()

static

void uninitialize( bool initialized )

改為:static

bool initialize()

static

void uninitialize( bool initialized )

重新build以後,使用testpluginrunner執行你的testcase, 雙擊失敗的case後即可在vs ide中定位錯誤的**。

WordPress安裝遇到的問題和解決方案

在php.ini檔案中 新增 upload tmp dir tmp開啟配置檔案 vi etc httpd conf httpd.conf在httpd.conf中新增 virtual hosts include conf extra httpd vhosts.conf建立 配置extra httpd ...

元件化開發遇到的問題和解決方式

1.android studio program type already present com.buildconfig android studio 報錯 android studio program type already present,是因為有2個module在 androidmanif...

單元測試遇到的問題和解決辦法

利用單元測試,我們可以找出很多意想不到的問題,在nunit對專案進行單元測試 過程中就查詢出了很多隱藏的問題,下面是單元測試中遇到的問題與解決方案 1.tql part表 1.1問題1 下面是專案中的 根據taskid,獲得對應的part記錄 public wyeng.model.tql part ...