2012-01-30 160 views
0

我想爲我的windows phone 7應用程序運行單元和集成測試。但jeff wilcox提供的庫和http://smartypantscoding.com/a-cheat-sheet-for-unit-testing-silverlight-apps-on-windows-phone-7的代碼運行模擬器。運行wp7應用程序的測試

但我希望以與運行Windows應用程序相同的方式運行單個測試,例如通過右鍵單擊測試類中的單個測試..也如果soemone想通過命令行運行測試而不調用sdk。

但是,目前可用的單元測試框架貫穿仿真器。

回答

2

通過一些很好的問題分離和一些限制,您可以使用Silverlight運行時執行測試。配置完成後,您可以使用ReSharper + AgUnit或VS中的TestDriven.net和命令行中的Statlight運行測試。

您可以在blog post I wrote up閱讀安裝說明,但保持在SO信息的緣故,我會在這裏總結:從的Silverlight(未WP)工具包

  • Reference Microsoft.Silverlight.TestingMicrosoft.VisualStudio.QualityTools.UnitTesting.Silverlight%programfiles%\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\Profile\WindowsPhone71
  • 參考組件和設置Copy Localtrue

這些限制包括:

  • 你的測試組件不能引用手機的具體組件或類型(如Microsoft.Phone.*
  • 一些共享的API實際上是不同的

如果你能處理所有的(我仍然避風港它決定是否值得)它可以提供一個非常快速的測試周期,並且模擬器測試仍然可以運行在任何超出限制的範圍內。

我們真的需要的是仿真器支持快速,無頭模式(仿真器測試的方式更兼容)什麼和某種Gallio適配器。

1

您必須通過模擬器運行單元測試。故事結局。

+0

嗯 - 你也可以在真實設備上運行它。 – 2012-01-30 12:33:59

+1

不是說它比在仿真器上運行它更有意義。問題是,他無法在模擬器/手機之外運行它。 – 2012-01-30 12:49:29

+0

好吧 - 我想知道什麼「以同樣的方式運行任何Windows應用程序」意思是:這似乎並不包括測試框架集成到Visual Studio ... – 2012-01-30 12:52:58

0

您可以在手機上運行Silverlight單元測試應用程序,但如果您有WP7.5「芒果」,請確保您使用的是get the Mango compatible binaries first from Jeff Wilcox's blog

要運行單個測試,請使用「測試標記」功能:在TestClass或TestMethod級別爲要運行的測試添加標記[Tag("MyTag")]。然後在測試應用程序的啓動屏幕上的文本框中輸入匹配的標籤。

這是我發現重新運行測試以快速驗證修復程序的最佳方式。我通常保留一個用於調試的短標籤(例如「e」),以便快速輸入。

相關問題