Taking the MSTest Framework forward with “MSTest V2”[譯]
??最近,我們宣布MSTest Framework支持.NET Core RC2/ASP.NET Core RC2,最終,我們把加入這一新特性的MSTest Framework更名為“MSTest V2”,在發布版本中可以看到關於改進MSTest Framework的大致方向。
了解一些上下文
??在Visual Studio中,我們有一套開放的測試平臺,通過不同的適配器,支持使用不同的測試框架寫測試用例,開發者可以根據自己的意願自由選擇,就像一個測試框架和不同適配器組成的測試生態系統。在這個生態系統中,MSTest扮演著特殊的角色,它經常被用來寫純粹的單元測試。然而,這麽些年來,為了給多個平臺提供支持,MSTest已變得有些冗雜。為了給桌面程序,應用商店程序,以及UWP程序提供支持,開發者需要了解這之間的細微差別。比如,針對桌面程序的命名空間是Microsoft.VisualStudio.TestTools.UnitTesting,而UWP的命名空間是另外的Microsoft.VisualStudio.TestPlatform.UnitTestFramework。
MSTest V2
??在MSTest V2上,我們投入了比較大的精力,它是MSTest的新版本,帶來了如下這些新功能:
- 提供全平臺支持-桌面程序,商店程序,UWP,ASP.NET Core 1.0,.NET Core 1.0
- 對所有的基於MSTest的測試工程提供數據行支持
- 允許將TestCategory特性應用到類級別和程序集級別
- 統一的單一終端擴展機制
- 通過nuget分發
??在申明中有關於如何在.NET Core中使用MSTest V2。如果是桌面程序或UWP程序,可以參考如下步驟:
首先安裝“MSTest V2”類庫
接著安裝適配器(此適配器和用於.NET Core的適配器不通用):
然後在代碼中引用命名空間(此命名空間處理了對老版本的兼容性問題):
using Microsoft.VisualStudio.TestTools.UnitTesting
OK,這樣我們就配置好了,接下來就可以寫測試用例了。
我們的計劃
??接下來我們將會有如下一些動作:
- 在Visual Studio 2015 Release 版本中,我們會更新一些測試工程模版和測試生成向導以增加對MSTest V2的支持
- 所有的bug修復和功能叠代都會圍繞MSTest V2
- 我們會繼續提供早期版本的MSTest二進制文件,但那僅僅是為了兼容性
- 我們會文檔化擴展機制
- 我們會從社區收集反饋
期待你的參與
- 如果你有使用MSTest的測試工程,強烈建議升級到MSTest V2,並開始使用它
- 如果你有寫一些MSTest的擴展,建議你在MSTest V2中繼續使用
- 如果你有新的測試工作,建議你使用MSTest V2
反饋
(此處省略n個字)
總結
??作為一個測試平臺,我們一直希望可以作為你評估多個測試平臺後的最終選擇。這次的新版本有望實現我們的目標。
強烈建議閱讀英文原文
date: 2017-11-06 22:15:45
Taking the MSTest Framework forward with “MSTest V2”[譯]