我需要單元測試我編寫的一些使用第三方C庫的C++對象。由於超出此問題範圍的原因,我無法直接調用第三方C庫,並需要將其存儲到測試套件中。C++單元測試和存儲第三方C庫
對於我們的單元測試套件的其他部分,我們使用googlemock
,但我不認爲它可以用於C
庫。我可以手動將圖書館存檔,但不願意(部分是由於懶惰(其相當大),但主要是因爲它只是一個原則問題)。
所以這裏是我的問題:是否有一個工具,基於C
庫頭文件生成殘段代碼?一旦我有了殘缺代碼,我會做一些小修改,然後我將鏈接它進行單元測試。
我需要單元測試我編寫的一些使用第三方C庫的C++對象。由於超出此問題範圍的原因,我無法直接調用第三方C庫,並需要將其存儲到測試套件中。C++單元測試和存儲第三方C庫
對於我們的單元測試套件的其他部分,我們使用googlemock
,但我不認爲它可以用於C
庫。我可以手動將圖書館存檔,但不願意(部分是由於懶惰(其相當大),但主要是因爲它只是一個原則問題)。
所以這裏是我的問題:是否有一個工具,基於C
庫頭文件生成殘段代碼?一旦我有了殘缺代碼,我會做一些小修改,然後我將鏈接它進行單元測試。
像http://code.google.com/p/googlemock/wiki/CookBook#Mocking_Free_Functions
描述的那麼你可以注入(在動態或靜態的方式)這個類並在其上設置的期望你不能在一個類包裝這些電話。
stubbing的intead,爲什麼不在googlemock手冊中提出的類中包裝那些C庫函數調用? – matekm
@matekm,我不知道googlemock那麼好,並會考慮這樣做。我不知道這將如何工作,因爲我的C++對象直接調用C函數。我是否必須將代碼更改爲使用Wrapper對象,然後使用這些對象的模擬來進行單元測試? – Brady
是的,可能是 – matekm