Для любого конкретного теста вы должны (и должны!) Использовать тот же TestScheduler для каждого объекта / метода, который требует / может принять IScheduler, иначе это не работает. ™ 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;
Или более элегантный способ RxUI - через .With ()
(new TestScheduler()).With(sched => {
// Do a test here.
});