我的 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 的有效窗口。
我在堆栈溢出的其他地方看到了WPF的变通方法。但这看起来只是让调度程序运行的东西。这个错误似乎更根本。有已知的解决方法吗?