я следующий блок испытанияMoq больше не использует метод возврата при использовании последовательности
[Test]
public void FifoOrderTest()
{
// Arrange
var sequence = new MockSequence();
var mockFoo1 = new Mock<IBar>();
var mockFoo2 = new Mock<IBar>();
mockFoo1.InSequence(sequence)
.Setup(foo => foo.Baz)
.Returns(100);
mockFoo2.InSequence(sequence)
.Setup(foo => foo.Baz)
.Returns(10000);
// Act
sut.AddFoo(mockFoo1.Object);
sut.AddFoo(mockFoo2.Object);
sut.RunFoos();
// Arrange
mockFoo1.Verify(foo => foo.Something(100));
mockFoo2.Verify(foo => foo.Something(700));
}
Моя проблема заключается в том, что Moq не использует возвратные функции обратного вызова, которые я установил на mockFoo1 и mockFoo2. Вместо этого, когда моя тестируемая система получает доступ к свойству Baz, возвращается значение по умолчанию 0. Если я удалю последовательность, то она снова будет работать так, как ожидалось.
Что я делаю неправильно? Есть где-то полный рабочий пример?