2012-09-23 41 views
5

有沒有人想出一個用於Windows應用商店應用程序開發的良好TDD設置?我習慣於使用模擬框架,但這不再是一個選項,因爲WinRT中缺少動態組合件生成。TDD for Windows Store應用程序開發無嘲諷

我已經看到了alpha MoqRT框架,但我希望能避免在這樣的實驗階段發生的事情。我也非常喜歡使用模擬對象,所以我不敢使用作爲微軟(Microsoft Fakes)的替代品提供的存根(stub)或墊片(shim)。

有沒有人成功地使用DI和適當隔離的TDD風格的單元測試成功地發現了用於開發Windows應用商店應用開發的好技術?如果是這樣,你做了什麼?

編輯

我也注意到,「正版正貨添加組件」選項不存在在我的「Windows Store應用」單元測試項目,這樣或許不是一個選項。

回答

3

我現在正在嘗試的方法是將可測試代碼放入常規的.NET 4.5程序集中,允許使用正常的單元測試項目對它進行單元測試。然後,在Windows應用商店應用項目中,將這些相同的源文件添加爲鏈接。這很不方便,因爲我不得不在兩個平臺之間重複項目引用,而且我必須小心確保代碼在兩個項目中編譯,但是這種方法確實允許我使用更好的單元測試工具。

我仍在急切地等待,看看有人想出更好的東西。

+3

我只是花了幾個小時在這個上面敲我的頭!這太瘋狂了!微軟正在爲Windows Store應用程序推廣MVVM,並且使用DI進行單元測試(假設存在模仿或虛假)是使用MVVM的重要原因。這是非常困難的,這只是一個驚人的監督。這是倒退的一大步。 –

0

您將能夠像Windows習慣一樣使用Telerik JustMock來模擬Windows應用商店應用。它作爲一個獨立的安裝程序提供,可以提供您在測試項目中導入的DLL。它是免費的,但你必須先註冊。

語法與Moq不同。請記住還要添加名稱空間Telerik.JustMock.Helpers以添加有用的擴展。

我目前正在使用它來開發使用Prism.StoreApps的Universall應用程序。隨着JustMock,我現在可以單獨測試我的ViewModel。我現在可以單元測試我軟件的所有層,我不再需要創建PCL層。他們現在是便攜式8.1項目。

+3

看來JustMock尚未被移植到win10:install-package:JustMock 2015.2.715.1與UAP版本= v10.0(win10-x64-aot)不兼容。 – faester