我需要测试一段代码
var watcher = new FakeIFileSystemWatcher();
watcher.FilesToBeImported
.ObserveOnDispatcher()
.Subscribe(list.Add);
Run Code Online (Sandbox Code Playgroud)
所以我创建了这个小单元测试,但我不能让它通过原因list.Count始终为0
[Test]
public void Foo()
{
var list = new List<string>();
var watcher = new FakeIFileSystemWatcher();
watcher.FilesToBeImported
.ObserveOnDispatcher()
.Subscribe(list.Add);
Task task = Task.Factory.StartNew(() =>
{
watcher.AddFile("cc");
watcher.AddFile("cc");
watcher.AddFile("cc");
}, TaskCreationOptions.LongRunning);
Task.WaitAll(task);
Assert.AreEqual(3, list.Count);
}
Run Code Online (Sandbox Code Playgroud)
如果我注释掉这个方法
.ObserveOnDispatcher()
Run Code Online (Sandbox Code Playgroud)
它通过但我如何使用ObserveOnDispatcher()?