VS 2012 單元測試簡單配置

2021-06-16 11:14:42 字數 1984 閱讀 5366

寫演算法時大多依靠簡單輸入驗證,經常遇到小範圍輸入正常,大範圍或特殊情況輸入結果錯誤的問題。所以寫程式之前最好先想好幾個特殊用例來測試,以驗證演算法是否正確。單元測試就是個不錯的工具,而vs 2012提供了很方便的單元測試功能。

首先建立需要測試的c++專案,如果已有專案,可以跳過這個步驟。然後新建兩個檔案algs4.h和main.cpp,**如下:

algs4.h

int add(int a, int b)

int minus(int a, int b)

main.cpp

#include "algs4.h"

int main()

待測試專案建立完成。接下來需要在當前解決方案中新建本機單元測試專案,如下圖:

完成專案建立之後,為了讓測試方法能夠訪問待測試的**,需要在測試專案中新增待測試專案的引用。右擊測試專案,在屬性對話方塊裡找到vc++目錄->包含目錄

完成後就可以在測試專案中引入待測試函式。簡單的測試**如下:

#include "stdafx.h"

#include "cppunittest.h"

#include "algs4.h"

using namespacemicrosoft::visualstudio::cppunittestframework;

namespace unittestalgs4};}

執行測試時,可以在選單欄找到測試->執行->所有測試,或者直接右擊,選擇執行測試

測試結果可以在測試資源管理器中檢視:

不過以上的配置只能測試標頭檔案中的**,而大多情況下標頭檔案中並不包括函式的實現,這時,測試專案僅包含待測試專案的檔案目錄是不夠的,還需要新增對.obj檔案的引用。

假設待測試專案的檔案及**如下:

algs4.h

int add(int a, int b);

int minus(int a, int b);

algs4.cpp

#include "algs4.h"

int add(int a, int b)

int minus(int a, int b)

main.cpp與上面的一致。

開啟測試專案的屬性對話方塊,修改鏈結器的常規->附加庫目錄和輸入->附加依賴項兩個屬性:

向附加庫目錄中新增待測試函式的.obj檔案目錄

如e:\vs2012\algorithms4\algorithms4\debug

向附加依賴項中僅新增待測試函式的.obj檔名,這裡是algs4.obj。

設定好後就能夠正常執行測試。

另外,在測試資源管理器中右擊測試名,可以分析測試**的覆蓋率。由於當前測試**沒有新增對minus的測試,所以它的已覆蓋率是0。覆蓋率測試還可以測試條件語句等分支語句的覆蓋情況。

VS 2012 單元測試簡單配置

寫演算法時大多依靠簡單輸入驗證,經常遇到小範圍輸入正常,大範圍或特殊情況輸入結果錯誤的問題。所以寫程式之前最好先想好幾個特殊用例來測試,以驗證演算法是否正確。單元測試就是個不錯的工具,而vs 2012提供了很方便的單元測試功能。首先建立需要測試的c 專案,如果已有專案,可以跳過這個步驟。然後新建兩個...

VS2012 單元測試

開發環境 win7 x64,vs2012 x64,oracle11g x64 在使用visual studio 2012 做單元測試的時候,引用了 oracle.dataaccess,version 2.112.1.0 程式集 執行測試時丟擲異常 system.badimageformatexcep...

VS 2012 的 單元測試 和 測試資源管理器

看到一篇好文章 基於vs2012 fakes框架的tdd實戰 介面模擬 順便學習下vs2012的單元測試,做了以下筆記和大家分享。vs 2012 我想最大的改變就是 可以支援各種不同的 unit test framework 以及 內建 fake 機制,以前若是想要在 vs 中整合介面和 team ...