Проблема многопоточности с TestScheduler - PullRequest
0 голосов
/ 31 мая 2019

Я работаю с Microsoft.Reactive.Testing (4.1.5), и у меня есть некоторые проблемы при использовании метода Buffer.Мой модульный тест останавливается из-за ошибки assert, но функция буфера продолжает работать в другом потоке после этого исключения.

Как справиться с этой многопоточной проблемой?

Это приложение с ядром dotnet 2.2.Все юнит-тесты в порядке, кроме случаев, когда я использую метод Буфера.

var newObservable = observable
    .SelectMany(msg => msg.ObjectList)
    .Buffer(TimeSpan.FromMilliseconds(150));

var scheduler = new TestScheduler(); 
var source = scheduler.CreateHotObservable(records);   
var testObserver = scheduler.CreateObserver<IList<MyObject>>();

newObservable.Subscribe(testObserver);

scheduler.AdvanceBy(TimeSpan.FromMilliseconds(300).Ticks);
testObserver.Messages
            .Should().HaveCount(1);
...