2
可以說我有:RX + MOQ + TestScheduler
- 一個目的是進行測試(它利用RX內);
- 測試對象相關性的數量,也利用RX - 使用MOQ創建。
的問題是: 這是使用相同的TestScheduler實例的測試對象內和外部觀測控制定時錯誤的方法嗎?
在此先感謝
可以說我有:RX + MOQ + TestScheduler
的問題是: 這是使用相同的TestScheduler實例的測試對象內和外部觀測控制定時錯誤的方法嗎?
在此先感謝
對於任何特定的測試,你應該(而且必須!)使用相同的 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方法是通過。隨着()
(new TestScheduler()).With(sched => {
// Do a test here.
});