単体テストから呼び出そうとするメソッドがあります。このメソッドは、実際にはバックグラウンド スレッドから実行されます。いくつかのコードを使用して、UI スレッドへの呼び出しの更新を開始します ( Application.Current.Dispatcher.BeginInvoke
.... を使用)。
ただし、単体テストから呼び出された場合ですApplication.Current
。null
if (Application.Current !=null)
私は、すべてを修正するために何を配置するかは本当にわかりません。
これを回避する他の方法はありますか?
_statusUpdates は ObservableCollection です
以下は、私がテストしようとしているメソッドのコードの一部です(公平を期すために、単体テストというよりも統合テストです)。
Application.Current.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, (EventHandler)delegate
{
_statusUpdates.Add(new StatusUpdate
{
DateTime = DateTime.Now,
Message = "Checking For Messages"
});
}, null, null);