VS2017C++單元測試


0、歡迎食用

  • 希望對點進來的你有所幫助。
    全文記流水賬,內心想法如示例項目名稱。

1、建立需測試的項目

  • 新建項目
  • 正常書寫.h 和.cpp文件


2、新建單元測試

  • 右擊解決方案 -> 添加 -> 新建項目
    Visual C++ -> 測試 -> 本機單元測試項目
  • 點擊確定出現

3、添加被測項目的引用

  • UnitTest1(個人單元測試項目名稱,下同) -> 右擊引用 -> 添加引用 -> 勾選被測項目

4、編寫測試代碼

  • 修改unittest1.cpp

5、運行測試

  • 測試 -> 運行 -> 所有測試

6、boom

  • 你以為這樣就成功了?天真。

  • 解決

    • 右擊UnitTest1 -> 屬性
      鏈接器 -> 輸入 -> 附加依賴項 -> 編輯
    • 添加附加依賴項
      • 注意添加的依賴項為被測試類的.obj,不知道的話可以自己翻一下目錄。

7、運行結果

  • 終於成功了

8、再次boom

  • 就這樣高枕無憂了?天真。
    在測試數獨項目的時候,由於被測試的類引用了別的類,然后又boom。
  • 再次解決

    • 法一:根據報錯信息添加對應依賴項
      • 右擊UnitTest1 -> 屬性
        鏈接器 -> 輸入 -> 附加依賴項 -> 編輯
      • 嫌麻煩的話可以只在這里寫xxx.obj,然后點擊
        鏈接器 -> 常規 -> 附加庫目錄 -> 編輯
        選擇xxx.obj對應目錄即可
    • 法二:改添加靜態庫(如果有的話。添加之前最好都先翻一下目錄看看有啥)
      • 右擊UnitTest1 -> 屬性
        鏈接器 -> 輸入 -> 附加依賴項 -> 編輯

        注意這里的Debug和法一中的Debug不是同一個文件夾呀。

9、插播OpenCover插件配置

  • 亂七八糟找了好多都不知道用。github翻這里。看README里面最后也推薦NuGet,那個Alternatively還特意加粗了,果然好用。不聽老人言,吃虧在眼前。血淚史啊。
  • 具體配置過程
    • 工具 -> NuGet包管理器 -> 程序包管理控制台
    • 這里的命令復制一下。
    • 對,就是那個橙色的復制按鈕點擊一下,然后在上面提到的程序包管理控制台粘貼回車。

10、參考資料


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM