VS2017中對C++的單元測試

安裝Visual Studio 2017

<font face="微軟雅黑" size=「3」>因爲平時都是用codeblock,所以電腦中沒有裝VS系列的IDE,就從安裝開始吧</font> <font face="微軟雅黑" size=「3」>最開始安裝的時候沒有注意什麼都沒選,安裝完了之後根本沒有c++的編譯器和各項組件............</font> <font face="微軟雅黑" size=「3」>上圖就是啥都沒安裝...要否則怎麼安裝包只有一百多MB.....</font> <font face="微軟雅黑" size=「3」>歷經千辛萬苦終於裝完了。那麼下一步就開始單元測試吧。</font>ios


對C++進行單元測試

<font face="微軟雅黑" size=「3」>首先先創建一個工程,分別編寫cpp和頭文件,下圖是我剛開始編寫的程序,僅僅寫了cpp文件,沒有自定義頭文件,下面的代碼是我後寫的</font> c++

<font face="微軟雅黑" size=「3」>最終cpp文件中的代碼以下:</font>函數

#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;
}

<font face="微軟雅黑" size=「3」>最終頭文件test.h中的代碼以下:</font>單元測試

class Cal {//計算類
public:
	int add(int x, int y);
	int sub(int x, int y);
};

<font face="微軟雅黑" size=「3」>肯定代碼無誤後,右鍵點擊「解決方案」->"添加"->「新建項目」,以下圖所示</font> 學習

<font face="微軟雅黑" size=「3」>緊接着在彈出的頁面選擇「本機單元測試項目」</font> 測試

<font face="微軟雅黑" size=「3」>此時左側的狀態欄出現了單元測試的項目,「UnitTest1」</font> spa

<font face="微軟雅黑" size=「3」>右鍵選中引用,點擊「添加引用」,以下圖所示</font> 3d

<font face="微軟雅黑" size=「3」>勾選須要引用的項目,也就是須要測試的項目</font> code

<font face="微軟雅黑" size=「3」>接下來開始編寫測試程序,以下圖所示</font> blog

<font face="微軟雅黑" size=「3」>而後操做以下圖,可是...........</font>

<font face="微軟雅黑" color=#0000FF> 去 世 了</font>

<font face="微軟雅黑" size=「3」>通過一番不懈的查找努力終於找到了問題所在...沒有引入須要測試項目的頭文件.....下圖爲改正後的測試代碼</font>

<font face="微軟雅黑" size=「3」>那麼再測試一次吧...應該沒事了吧......</font>

<font face="微軟雅黑" color=#0000FF>又 去 世 了</font>

<font face="微軟雅黑" size=「3」>其實問題出在了這裏...右鍵測試項目,而後選擇屬性</font>

<font face="微軟雅黑" size=「3」>選擇「連接器」->"輸入"->"選擇依賴項"</font>

<font face="微軟雅黑" size=「3」>能夠看到我輸入的是須要測試項目的obj文件的路徑,可是寫的倒是*.obj,至關於選擇該文件夾下全部obj文件</font>

<font face="微軟雅黑" size=「3」>可是打開對應的文件夾後,發現有兩個obj文件.....緣由是由於最先創建項目時使用了默認名稱,可是爲了引用成功我給改爲了英文名...所以有兩個obj文件,系統不肯定究竟是哪個文件(你妹)</font>

<font face="微軟雅黑" size=「3」>因而乎回去修改依賴項...改爲肯定的文件......</font>

<font face="微軟雅黑" color=#0000FF >終 於 運 行 成 功 了</font>

<font face="微軟雅黑" size=「3」>這裏說一下,Assert::AreEqual函數是肯定是否兩個數相等的操做,若是兩個數不相等,那麼將不會經過測試,可是運行能夠成功,以下圖所示,3-5=-2,不知足的話就不能經過測試</font>

總結

<font face="微軟雅黑" size=「3」>經過學習vs2017的單元測試,我掌握了進行單元測試的的基礎方法,在錯誤中成長,學會了很多東西,爭取在這以後快速的根據別人的博客學會更多的測試技術(好比一個類在運行時還要引用新的文件,那麼依賴項仍是要進行修改),也讓我意識到了自學是進步最快的方法,多讀別人的博客可能就會學會不少東西,所以要虛心好學。</font>

相關文章
相關標籤/搜索