簡體   English   中英

Visual Studio C++:帶有谷歌測試的單元測試 exe 項目?

[英]Visual Studio C++: Unit test exe project with google test?

使用 Visual Studio 2010 C++。 我正在嘗試單元測試,並決定嘗試谷歌測試(gtest)。 我有一個現有項目,可以編譯為 MFC 可執行文件(我也對如何測試編譯為 DLL 的項目感興趣)。 我對單元測試約定的理解是,您應該為測試創建一個新的單獨項目。 所以我在同一個解決方案中為我的單元測試創建了一個新項目。 但是我如何鏈接這些項目呢? 我可以從我的測試項目中測試我的 exe 項目的任意函數/方法嗎?

這樣做的傳統方法是什么?

我認為組織單一測試的最佳方法是:

  • 不要改變你的主要項目。 該結構應該獨立於您的測試操作。 在我看來,將您的項目更改為大型 static 庫和可執行文件確實不優雅。 相反,添加一個構建后操作以將所有 obj 文件聚合到一個 static 庫文件中,該文件僅供您的測試項目使用。

  • 創建一個簡單的測試項目,鏈接到您的測試框架和您之前生成的 static 庫。

  • 享受。

主要優點是您不接觸要測試的項目,也不會將所有源代碼包含到測試項目中。

要了解如何為 Visual Studio 執行此操作,您可以查看這篇文章: Linking to multiple.obj for unit testing a console application

將您要測試的功能放入鏈接到您的測試項目和 MFC 項目的 static 庫中,或者將您的文件放入兩個項目中。 第一個更復雜,但第二個會導致你編譯所有東西兩次......

我已經准備了一個 github 存儲庫,其中包括比利的回答並行的 Visual Studio 2015 解決方案。 您可以直接使用它,而無需任何額外的要求或依賴。

https://github.com/fuatcoskun/GoogleTestVS2015

我希望它有幫助...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM