我有一個Windows Phone 7 Silverlight應用程序,我試圖單元測試。我的測試中失敗,出現以下錯誤:單元測試Deployment.Current.Dispatcher.BeginInvoke
System.DivideByZeroException : Attempted to divide by zero.
在下面一行:
Deployment.Current.Dispatcher.BeginInvoke(() => RaisePropertyChanged("Lat"));
我想這是因爲沒有UI線程。我是否需要抽取BeginInvoke
的電話,以便在我的測試中對其進行模擬?
更新:
我結束了抽象,所以我可以模擬單元測試。很棒。你怎麼看?
public class UiDispatcher : IUiDispatcher
{
public void InvokeOnUiThread(Action action)
{
Deployment.Current.Dispatcher.BeginInvoke(action);
}
}
更新後與抽象 – chief7 2010-06-19 19:07:18
什麼是您使用的單元測試框架? NUnitLite? – legalize 2010-07-08 01:44:56
NUnit。很棒! – chief7 2010-07-08 01:47:37