2012-04-18 77 views
2

由於無軌運行Metro應用程序仍然是一個灰色區域:Running a metro app headlessly,我最近決定將本地單元測試項目添加到我的Windows Metro應用程序,希望能找到一種運行方式這些單元測試在構建服務器上以自動方式進行。基本上,我正在尋找類似於MSTest.exe的東西 - 這是一個非常適合從批處理文件和/或腳本運行測試的實用程序。自動運行C++單元測試運行WinRT

其實,我一直在使用MSTest.exe的新版本附帶上生成的測試.DLL VS11嘗試,但它失敗,出現錯誤:

「無法加載測試容器「測試.dll'或其某個依賴關係...錯誤詳細信息:無法加載文件或程序集文件://test.dll'或其某個依賴關係。該模塊應包含程序集清單。「

MSTest.exe是否可以與包含WinRT代碼的測試容器一起使用?如果不是,是否有一個實用程序會做我想要的?


編輯:我剛發現MSTest不支持在Metro風格應用上運行測試。在這裏找到:http://msdn.microsoft.com/en-us/library/ms253138%28v=vs.110%29.aspx這真的太糟糕了。我仍然希望有一個工具可以使用。

回答

3

後通過VS文件夾盲目挖掘,我偶然發現下一個新的測試運行:

C:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe

該工具允許您從命令行執行WinRT的單元測試。這與MSTest.exe非常相似。

目前似乎還沒有任何文檔,但至少存在一個幫助命令。

1

如果您正在執行vstest.console.exe <文件名>.dll,那麼您的測試不會在appcontainer模式下執行。您需要提供<文件名> .appx才能在appcontainer模式下執行測試。關於如何執行測試的命令行的Windows Metro風格應用程序的詳細信息,可以在Running Unit Tests for Windows Metro style apps from Command Line

0

找到有關於Windows Phone的一個文件(除其他事項外)運行單元測試: http://msdn.microsoft.com/en-us/library/windowsphone/develop/dn168930(v=vs.105).aspx

還介紹命令行使用vstest.console.exe來完成它的方式。

它還比較了Windows Phone和WinRT的單元測試之間支持的功能。

一個重要的細節是WinRT的單元測試無法在設備上運行。這是一個遺憾和相關的問題How to automate non-interactive tests on Microsoft Surface