應該要知道的事
- 這是踩雷筆記
- 2017 的筆記可能會隨時間變得沒有參考價值
- Visual Studio 2017 的問題,並不一定適用其他版本
- 最後面會有不定時補充
情境
原本使用 Visual Studio 2015 建立的測試專案,
升級到 Visual Studio 2017 後, 發生以下錯誤
1 | [2017/12/11 上午 02:09:59 Error] 測試探索程式 'SpecRunTestDiscoverer' |
導致結果
- 測試專案會找不到測試,或是測試數量不正確.
- 可以使用 Visual Studio 2015 重新執行探測索測試,即可排除問題.
VS2015 已移除或未安裝該怎麼辦?
透過 MsTest 直接加入Microsoft.VisualStudio.QualityTools.UnitTestFramework
的參考已經是舊的方法了,
在 Visual Studio 2017 建議的解決方案如下:
- 移除方案中所有對
Microsoft.VisualStudio.QualityTools.UnitTestFramework
的參考 - 透過
Nuget
安裝MSTest.TestAdapter
- 透過
Nuget
安裝MSTest.TestFramework
- 關閉 Visual Studio 2017
- 移除
%temp%\VisualStudioTestExplorerExtensions
內所有檔案 - 重啟 Visual Studio 2017 並建置以觸發探索測試
參考
(fin)
補充
- 2018/06/02 :
Visual Studio 2017 15.7.* 的版本之後 ,%temp%\VisualStudioTestExplorerExtensions
消失了 ,
不過正常情況建置後 , visual studio 探索測試仍然可以正確找到測試。