Windows 8 ストア アプリに次のコードがあります。
public static void ConvertUpdateStreamToCollection<T>(this IObservable<UpdateInfo<T>> input, ObservableCollection<T> list)
{
input
.ObserveOnDispatcher()
.Subscribe(upInfo => UpdateList(upInfo, list));
}
ObserveOnDispatcher はバックグラウンド スレッドで呼び出されることが多く、監視可能なリストを更新するときは、UI ディスパッチャー上にある必要があります。最初に注文すると、アプリを実行すると正常に動作するように見えます。
しかし、単体テストでこれをテストしたいと思います。組み込みの MSTest を使用しています。ただし、ObserveOnDispatcher は、CoreDispatcher を取得する有効な Window がないことを訴えてスローします。
スタック オーバーフローの他の場所でWPFの回避策を見てきました。しかし、それはディスパッチャーを実行するためのもののように見えます。このエラーはより根本的なようです。既知の回避策はありますか?