У меня есть поддельный объект, который передается другому Сервису.
у макета есть предмет поведения, который можно изменить внутри Сервиса или из моих модульных тестов.Тест не пройден, потому что макет не возвращает ожидаемое мной значение.Я уже разбил проблему на небольшой фрагмент LinqPad.
void Main()
{
Moq.Mock<ITest> Mock = new Moq.Mock<ITest>();
Mock.Setup(m => m.GetTestValue()).Returns(Task.FromResult(TestSubject.Value));
TestSubject.Subscribe();
//Setting TestSubject.Value to true
TestSubject.OnNext(true);
//But Mock still Returns false
var testTask = Mock.Object.GetTestValue();
testTask.Wait();
testTask.Result.Dump();
}
public System.Reactive.Subjects.BehaviorSubject<bool> TestSubject = new System.Reactive.Subjects.BehaviorSubject<bool>(false);
public interface ITest{
Task<bool> GetTestValue();
}
Редактировать: забыл подписаться на тему, но подписка не решает проблему.