[英]c++ testing herimitic library
我決定為我的庫添加測試。 問題是大多數(所有?)測試框架都使用相同的方法:構建一個可執行文件,其中包含要測試的代碼,測試和框架。
但是如果我有一個很重的庫(里面有很多代碼)但只有一些公共函數/類呢? 在這種情況下,我無法測試它,直到:
廣告。 1:這不好
廣告。 2:當我使用visual studio時,它需要我將庫項目與'test'可執行項目(添加/刪除文件等)同步。 所以它對我來說也不好看。
還有其他方法嗎?
如果你能做2)所以你應該能夠重新組織你的文件/文件夾/項目;
1)包含所有內部函數和對象的靜態庫項目2)使用任何框架的測試項目(每個都有很多pro&con的框架,如果你是初學者,我的建議是選擇集成解決方案或簡單框架)。 該測試項目必須在靜態庫中DEPEND(在解決方案資源管理器菜單中添加依賴性)。 因此,您可以在內部實現上添加測試
現在是外部api。
3)您的舊DLL項目僅保留公共API定義和實現。 和靜態庫的DEPEND。
4)為您的公共API添加一個測試項目
無需同步項目和編譯代碼兩次,並且只需外部api就可以測試更多,而無需更改內部代碼。
通常,測試驅動編程適用於許多小型“單元”。 擁有一些膨脹的“單位”使得測試階段無法忍受!
我看到唯一可行的解決方案是隔離代碼的特定部分,然后使用調試器進入它們。 擁有許多private
函數通常會導致上述問題,並且由於您無法在單元測試期間直接訪問它們,因此您應該考慮將調試器用於非顯而易見的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.