体验VS2017的Live Unit Testing
相對于傳統(tǒng)的Unit Test,VS2017 帶來了一個新的功能,叫Live Unit Testing,從字面意思理解就是實時單元測試,在實際的使用中,這個功能就是可以在編寫代碼的時候進行實時的background的單元測試.
在體驗之前,有幾點注意事項是需要了解的:
1.目前 live unit tesing僅僅支持 C#和VB的傳統(tǒng).net版本,不支持.net core,當然,我覺得也不支持其他的語言,這點是暫時讓我遺憾的,因為從體驗的結果來看,如果能支持其他的語言,無疑是非常非常吸引人的功能.
2.可以和第三方的測試框架結合,不僅僅是MSTEST,我就是用的NUnit,當然XUnit也沒有問題.
要想啟用測試,本身來講是非常簡單的.
只需要在Test 菜單 啟用Live Unit Testing就可以了.
?
如果你使用NUnit的話,需要安裝Nunit test adpater?Install-Package NUnite3TestAdapter
測試的過程就比較簡單了.
我們可以按照我們的需要,寫一些需要測試的內容,然后創(chuàng)建TestMethod,就可以進行測試,與傳統(tǒng)測試不同的是,所有的單元測試,不需要手工觸發(fā),可以自動進行.
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); } }
}
?
然后我們可以創(chuàng)建一個測試的類,并編寫測試的方法.
在我們的編寫過程中,啟動了Live Unit Testing的VS2017 會幫我們進行持續(xù)的測試,并根據(jù)測試的結果,標注在每一行中.
同樣,針對已經完成了單元測試的代碼,也會進行實時的標記,如下圖所示:
?
?這樣,我們可以很清楚的看到整個代碼的測試覆蓋情況.
而且在整個編碼過程中,我們完全不需要停止測試的過程,只要我們進行編碼,隨時都會進行測試,并顯示代碼測試的覆蓋情況,而且會立即顯示代碼的錯誤.
例如:
我們保存以后,馬上就有提示,然后緊接著會進行單元測試.然后實時的顯示測試失敗的情況,如下圖:
而且這個錯誤會同時顯示在我們的TestMethod和我們的代碼編寫中,可以想見,這樣的方式,將會極大的提升我們編寫代碼的效率.
但是這樣也帶來了一個問題,在我們寫代碼的過程中,可能不希望所有的單元測試都是這樣實時的進行的,這個時候,我們可以簡單的進行單個測試文件的排除:
?
只要在Explorer里面,選擇不希望包含的類,直接在右鍵菜單里面排除就行了.
原文地址:http://www.cnblogs.com/fireinwind/p/6689732.html
.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注
總結
以上是生活随笔為你收集整理的体验VS2017的Live Unit Testing的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 30分钟掌握 C#6
- 下一篇: 基于C#.NET的高端智能化网络爬虫