bor*_*kpe 2 moq system.reactive
让我们说:
问题是:这是一种错误的方法,使用相同的TestScheduler实例来控制测试对象和外部可观察对象的时间吗?
提前致谢
对于任何特定测试,您应该(并且必须!)对需要/可以使用IScheduler的每个对象/方法使用相同的TestScheduler,否则它不起作用.™ReactiveUI通过具有全局"MainThreadScheduler"对象来实现此目的可以在测试时覆盖,所以你可以做以下事情:
var oldSched = RxApp.MainThreadScheduler;
RxApp.MainThreadScheduler = new TestScheduler();
// Do a Test, and make sure all your test and runtime code use RxApp schedulers
RxApp.MainThreadScheduler = oldSched;
Run Code Online (Sandbox Code Playgroud)
或者,更优雅的RxUI方式是通过.With()
(new TestScheduler()).With(sched => {
// Do a test here.
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
368 次 |
| 最近记录: |