[MSTest][CLI]沒有要執行的測試

最近參與了同事專案的討論,在專案文件庫中,發現年輕同事曾遇到MSTest整合進CI Server的問題,CI Server加裝的MSTest Plugin以Command Line(CLI)跑測試時,出現了"沒有要執行的測試"(No tests to execute.)訊息,先前自己也遇到,來筆記這個問題。

 

使用CLI(command line interface)執行的MSTest

MSTest.exe /testcontainer:paytest.dll

 

錯誤訊息本人生活照

明明有測試類別、有測試方法,就是不給測..

 

github有一篇MStest.exe via CLI does no work #1213訊息,訊息中有提到MSTest V2專案不支援CLI,因此必須降版使用V1;另外也從stackoverflow找到可以使用VSTest 取代MSTest的討論,解題也逛到yowko的blog(揮手),先筆記備份第一種解決,降成MSTest V1

 


解決方式(單元測試專案降成MSTest V1)

1.管理測試專案的NuGet套件,解除以下兩個套件安裝

MSTest.TestAdapter及Mstest.TestFramework

 

2.依據Viusal Studio版本選擇UnitTestFramework路徑加入測試專案的參考,以下範例是Visual Studio 2017的預設安裝位置。

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

重新編譯測試專案成功後,簽入程式碼,接著到CI Server建置執行,Mstest command line 測試就能正常執行,繼續持續整合之路。

 

2018.06 統一時代百貨台北店

 


參考:

MSTest.exe 命令列選項

MStest.exe via CLI does no work

MSTest does not discover unit test in assembly

Yowko's Notes使用命令列指令 (VSTest.Console.exe) 執行 MSTest V2 測試

 

 

巴西好險

2018.06.22 小組賽第二循環 巴西 vs 哥斯大黎加