爲silverlight創建單元測試時,測試框架似乎內置了一些功能以幫助進行異步調用,但僅限於測試方法內。如果在你正在呼叫的那個子方法中有一個異步調用,該怎麼辦?Silverlight單元測試,處理嵌套方法中的異步調用
作爲一個例子,我們使用Specflow來測試我們的ViewModels,我們要調用一個命令的Execute方法,然後該命令異步調用Web服務。在聲明結果之前,如何確保while命令完成?
作爲一個例子,這是命令
[Asynchronous]
[When(@"I press calculate")]
public void WhenIPressCalculate()
{
_helloWorldViewModel.CalculateCommand.Execute(null);
}
我需要等待整個命令完成後再繼續。
如果異步調用與WCF服務相關,則可以創建一個模擬服務,該服務在方法調用中沒有延遲。這是更好的方法,因爲單元測試不需要很多時間來完成。 – vorrtex 2011-05-04 16:33:02
我們實際上正在測試功能塊(行爲驅動開發),所以我們稱之爲真正的服務是很好的。這樣我們可以確保該功能完整。 – Nitro52 2011-05-04 23:53:33