2012-04-20 88 views
3

我非常新的Windows Phone開發和我讀過,例如here,有針對Windows Phone應用程序沒有單元測試框架。單元測試的Windows Phone 7.1庫

這是我發現很奇怪,因爲,例如,如果我有一個類庫有爲數衆多的執行操作我想創建一個單元測試項目,添加類庫和單元測試每個類的方法相同的引用類我一直都有。

所以我創建了一個虛擬的Windows Phone類庫與一個外接(INT X,int y)對方法就可以了MyClass的類,並增加其引用到正規的測試項目。

有趣的是,參考上有一個警告標誌,但測試運行,並通過相應的失敗。

所以我的問題是:

什麼是真正的交易單元測試Windows Phone的代碼?
爲什麼在測試項目中通過Windows Phone類庫的引用存在警告標誌?

感謝您的啓蒙:)

+1

幾乎全部是新的Windows Phone 7開發:) – nawfal 2012-04-20 20:55:58

回答

4

你絕對可以單元測試Windows Phone 7的代碼。我相信現在NUnit支持它,甚至在相當新的時候,還有Silverlight Unit Test Framework。你可能會發現,你通常使用的其他一些技術要麼是有限的,要麼是不存在的(例如,當我編寫WP7應用程序時,我不認爲任何模擬庫都可以使用它),而且通常會更痛苦一些而不是使用完整框架進行單元測試,但這絕對是可行的。

哦,你可能會發現自己想要隱藏框架其餘部分的一些抽象,比如WebRequest,這樣你就可以測試那些想要使用這些抽象的東西。我發現這個痛苦的,但可行...

+1

感謝喬恩。我絕對計劃從電話頁面中抽取所有邏輯,我正在考慮採用MVP風格,這樣所有的邏輯都可以進行測試,而且可能嘲笑不會讓我感到頭疼。附:我在你的書的第4章,我發現它非常有趣和有益,謝謝你。 – 2012-04-20 20:57:22

5

我一直在做一些測試驅動開發上WP7。我爲我的隔離框架使用了NUnit和Moq for Silverlight。有一篇關於在Windows Phone 7上使用NUnit和Moq的優秀博客文章,其中涉及一些關於處理一些奇怪問題的視頻http://toranbillups.com/blog/archive/2011/07/24/Test-Driving-My-Windows-Phone-7-App。 到目前爲止,我所看到的大部分功能都是集成測試,對於大多數WP7應用程序來說都很有用。

快樂編碼!