2013-01-09 78 views
4

我需要單元測試我編寫的一些使用第三方C庫的C++對象。由於超出此問題範圍的原因,我無法直接調用第三方C庫,並需要將其存儲到測試套件中。C++單元測試和存儲第三方C庫

對於我們的單元測試套件的其他部分,我們使用googlemock,但我不認爲它可以用於C庫。我可以手動將圖書館存檔,但不願意(部分是由於懶惰(其相當大),但主要是因爲它只是一個原則問題)。

所以這裏是我的問題:是否有一個工具,基於C庫頭文件生成殘段代碼?一旦我有了殘缺代碼,我會做一些小修改,然後我將鏈接它進行單元測試。

+0

stubbing的intead,爲什麼不在googlemock手冊中提出的類中包裝那些C庫函數調用? – matekm

+0

@matekm,我不知道googlemock那麼好,並會考慮這樣做。我不知道這將如何工作,因爲我的C++對象直接調用C函數。我是否必須將代碼更改爲使用Wrapper對象,然後使用這些對象的模擬來進行單元測試? – Brady

+0

是的,可能是 – matekm

回答

3

stubgen可以從頭文件生成存根成員,除非你有特殊的要求,它應該能夠做你正在尋找的東西。

+0

我嘗試使用stubgen的C庫頭文件,但它沒有生成任何東西。我認爲它僅適用於C++而不適用於C,因爲它在網頁上提到:「stubgen - C++的成員函數存根生成器」 – Brady