體驗VS2017的Live Unit Testing


相對於傳統的Unit Test,VS2017 帶來了一個新的功能,叫Live Unit Testing,從字面意思理解就是實時單元測試,在實際的使用中,這個功能就是可以在編寫代碼的時候進行實時的background的單元測試.

在體驗之前,有幾點注意事項是需要了解的:

1.目前 live unit tesing僅僅支持 C#和VB的傳統.net版本,不支持.net core,當然,我覺得也不支持其他的語言,這點是暫時讓我遺憾的,因為從體驗的結果來看,如果能支持其他的語言,無疑是非常非常吸引人的功能.

2.可以和第三方的測試框架結合,不僅僅是MSTEST,我就是用的NUnit,當然XUnit也沒有問題.

要想啟用測試,本身來講是非常簡單的.

只需要在Test 菜單 啟用Live Unit Testing就可以了.

 

如果你使用NUnit的話,需要安裝Nunit test adpater Install-Package NUnite3TestAdapter

測試的過程就比較簡單了.

我們可以按照我們的需要,寫一些需要測試的內容,然后創建TestMethod,就可以進行測試,與傳統測試不同的是,所有的單元測試,不需要手工觸發,可以自動進行.

public class Item
{
public string Name { get; set; }
public decimal Price { get; set; }
}

 

public class ShoppingCart
{
public int UserID { get; set; }
public string UserName { get; set; }

public DateTime LastUpdated { get; set; }

public List<Item> Items { get; set; }

public decimal Total { get { return Items.Sum(i => i.Price); } }

}

 

然后我們可以創建一個測試的類,並編寫測試的方法.

在我們的編寫過程中,啟動了Live Unit Testing的VS2017 會幫我們進行持續的測試,並根據測試的結果,標注在每一行中.

同樣,針對已經完成了單元測試的代碼,也會進行實時的標記,如下圖所示:

 

 這樣,我們可以很清楚的看到整個代碼的測試覆蓋情況.

而且在整個編碼過程中,我們完全不需要停止測試的過程,只要我們進行編碼,隨時都會進行測試,並顯示代碼測試的覆蓋情況,而且會立即顯示代碼的錯誤.

例如:

我們保存以后,馬上就有提示,然后緊接着會進行單元測試.然后實時的顯示測試失敗的情況,如下圖:

而且這個錯誤會同時顯示在我們的TestMethod和我們的代碼編寫中,可以想見,這樣的方式,將會極大的提升我們編寫代碼的效率.

但是這樣也帶來了一個問題,在我們寫代碼的過程中,可能不希望所有的單元測試都是這樣實時的進行的,這個時候,我們可以簡單的進行單個測試文件的排除:

 

只要在Explorer里面,選擇不希望包含的類,直接在右鍵菜單里面排除就行了.

 


免責聲明!

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



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