我的视图模型中有一些代码如下:
miService.GetSomething(par1, par2)
.ObserveOnDispatcher()
.Subscribe(dt =>
{
DoSomething(dt);
});
然后在我的测试中,我“嘲笑”我的服务如下:
miService.Setup(ms => ms.GetSomething(....))
.Returns(Observable.Return(XYZ));
问题在于,由于ObserveOnDispatcher,订阅委托永远不会被执行。
我见过DispatcherFrame和PushFrame的一些代码,但问题是我不知道“哪里”,我可以调用
frame.Continue = false;
答案 0 :(得分:5)
你可以尝试
var frame = new DispatcherFrame();
Dispatcher.CurrentDispatcher.BeginInvoke(
DispatcherPriority.Background,
new Action(() => frame.Continue = false));
Dispatcher.PushFrame(frame);