安裝Visual Studio 2017
由於平時都是用codeblock,因此電腦中沒有裝VS系列的IDE,就從安裝開始吧
最開始安裝的時候沒有注意什么都沒選,安裝完了以后根本沒有c++的編譯器和各項組件............
上圖就是啥都沒安裝...要不然怎么安裝包只有一百多MB.....
歷經千辛萬苦終於裝完了。那么下一步就開始單元測試吧。
對C++進行單元測試
首先先建立一個工程,分別編寫cpp和頭文件,下圖是我剛開始編寫的程序,僅僅寫了cpp文件,沒有自定義頭文件,下面的代碼是我后寫的
最終cpp文件中的代碼如下:
#include<iostream>
#include"test.h"
using namespace std;
int Cal::add(int x, int y)//返回兩個變量的和
{
return x + y;
}
int Cal::sub(int x, int y)//返回兩個變量的差
{
return x - y;
}
int main()
{
return 0;
}
最終頭文件test.h中的代碼如下:
class Cal {//計算類
public:
int add(int x, int y);
int sub(int x, int y);
};
確定代碼無誤后,右鍵點擊“解決方案”->"添加"->“新建項目”,如下圖所示
緊接着在彈出的頁面選擇“本機單元測試項目”
此時左側的狀態欄出現了單元測試的項目,“UnitTest1”
右鍵選中引用,點擊“添加引用”,如下圖所示
勾選需要引用的項目,也就是需要測試的項目
接下來開始編寫測試程序,如下圖所示
然后操作如下圖,但是...........
去 世 了
經過一番不懈的查找努力終於找到了問題所在...沒有引入需要測試項目的頭文件.....下圖為改正后的測試代碼
那么再測試一次吧...應該沒事了吧......
又 去 世 了
其實問題出在了這里...右鍵測試項目,然后選擇屬性
選擇“鏈接器”->"輸入"->"選擇依賴項"
可以看到我輸入的是需要測試項目的obj文件的路徑,但是寫的卻是*.obj,相當於選擇該文件夾下所有obj文件
但是打開對應的文件夾后,發現有兩個obj文件.....原因是因為最早建立項目時使用了默認名稱,但是為了引用成功我給改成了英文名...因此有兩個obj文件,系統不確定到底是哪一個文件(你妹)
於是乎回去修改依賴項...改成確定的文件......
終 於 運 行 成 功 了
這里說一下,Assert::AreEqual函數是確定是否兩個數相等的操作,如果兩個數不相等,那么將不會通過測試,但是運行可以成功,如下圖所示,3-5=-2,不滿足的話就不能通過測試
總結
通過學習vs2017的單元測試,我掌握了進行單元測試的的基礎方法,在錯誤中成長,學會了不少東西,爭取在這之后快速的根據別人的博客學會更多的測試技術(比如一個類在運行時還要引用新的文件,那么依賴項還是要進行修改),也讓我意識到了自學是進步最快的方法,多讀別人的博客可能就會學會很多東西,因此要虛心好學。