隨著更多的特性被添加到相對便宜的Visual Studio版本中,Microsoft一直在試圖證明Visual Studio企業版本昂貴標價的合理性。今年Microsoft新推出的頭條特性就是“實時單元測試(Live Unit Testing)”。
構建并自動運行測試的特性在Visual Studio里已經存在有一段時間了。實時單元測試在此上更進了一步,可以在代碼輸入的同時運行測試,甚至無需保存文件。只要代碼發生更改,就啟動運行單元測試。
與實時單元測試一并提供的還有實時代碼覆蓋特性,該特性提供圖標用于標識測試通過、測試失敗或未進行測試的代碼。圖標上的覆蓋條表示新的測試正在運行中。點擊該圖標將會列出相關測試,而鼠標滑過則會顯示堆棧信息。
VS的實時單元測試特性目前支持NUnit、xUnit和MSTest,但是你需要安裝最新的兩個.NET Core預覽版。當前實時單元測試并不支持Universal Windows(UWP)應用和Xamarin。Microsoft的Manish Jayaswal寫道:“添加對.NET Core的支持已經在路線圖中,但是對此我們尚未有時間表”。
據來自Microsoft的Tanner Gooding披露,推遲的部分原因在于.NET Core的PDB符號文件發生了更改。PDB符號文件早先僅是設計用于Windows的,但是新的跨平臺PDB格式已發生了重大更改。
可能“實時單元測試”聽上去十分耳熟,因為該特性并非由Microsoft率先提供。由Remco Software公司提供的NCrunch具有基本相同的工作原理。但是作為更早出現的產品,NCrunch有更充分的時間優化自身與IDE的集成,只需點擊一兩下鼠標就可完成詳細錯誤分析。NCrunch中還集成了分布式處理和性能的相應指標,而在Visual Studio企業版中,這些功能由單獨的工具提供。
雖然無法做真實價格的對比,但是無疑NCrunch更適合于那些精打細算的開發者。NCrunch單機版報價自159美元起步,企業版許可的報價是一個用戶289美元,從早期版本升級則會有折扣。
查看英文原文:Microsoft to Offer Live Unit Testing in Visual Studio 2017