Cmockery是一個輕巧的庫,用於撰寫C單元測試。
Cmockery測試被編譯為獨立可執行文件,並與CMOCKERY庫,標準C庫和正在測試的模塊鏈接。應模擬測試模塊外部的任何符號 - 替換為在測試應用程序中返回由測試確定的函數。即使代碼模塊的目標執行環境與用於測試代碼的環境之間可能存在顯著差異,但單位測試仍然有效,因為其目標是在功能級別測試代碼模塊的邏輯,而不一定是其與目標執行環境的所有交互。
在沒有一些修改的情況下,可能無法將模塊編譯到測試應用程序中;因此,應在編譯CMOCKERY單元測試應用程序時定義預處理器符號UNIT_TESTING ,以便可以將模塊中的代碼進行有條件編譯以進行測試。
可以在docs/user_guide.md中找到有關使用CMOCKERY編寫測試機制的更多詳細信息。
要在Linux上編譯Cmockery庫和示例應用程序,請運行:
$ ./configure
$ make
要在Windows上編譯,請運行:
> vsvars.bat
> cd windows
> nmake
該代碼已在Linux(Ubuntu)和Windows上使用VC ++ 7和VC ++ 8進行了測試。
有多種C單元測試框架可用;但是,其中許多是相當複雜的,需要最新的編譯器技術。某些開發需要使用舊編譯器,這使得難以使用某些單元測試框架。此外,許多單元測試框架都假定要測試的代碼是針對同一平台的應用程序或模塊,該平台最終將執行測試。由於這個假設,許多框架需要在正在測試的代碼模塊中包含標準C庫標頭,這可能會與所測試的代碼使用的C庫的自定義或不完整實現相撞。
Cmockery僅需要測試應用程序與標準C庫鏈接,該標準C庫將與標準C庫標頭的衝突最小化。此外,Cmockery嘗試避免使用C編譯器的一些新功能。
這導致Cmockery是一個相對較小的庫,可用於測試各種外來代碼。如果開發人員希望簡單地使用最新編譯器測試應用程序,那麼其他單元測試框架可能是可取的。
如果您對Cmockery有疑問,請使用以下資源:
堆棧溢出:使用cmockery標籤
郵件列表: cmockery(at)GoogleGroups.com (檔案)
要加入Google帳戶,請使用Web UI;要訂閱/取消訂閱任意電子郵件地址,請發送電子郵件至:
Cmockery已獲得Apache 2.0許可證的許可;有關詳細信息,請參見LICENSE.txt 。