Используя FakeItEasy, у меня есть настройка, аналогичная приведенной ниже в одном из моих тестов, а утверждение CallTo
внизу внизу не работает при настройке.Ограничение аргумента FakeItEasy оценивается как null за пределами lambda
var fakedTool = A.Fake<ITool>();
var concreteUnderTest = new Concrete(fakedTool);
concreteUnderTest.doSomething();
var fooConstraint = A<Foo>.That.Matches(f => f.Name.Equals('Alice'));
var barConstraint = A<Bar>.Ignored;
A.CallTo(() => fakedTool.ObservedFunction(fooConstraint , barConstraint))
.MustHaveHappened(Repeated.Exactly.Once);
Я поместил контрольную точку непосредственно над CallTo
линией, а значения fooConstraint
и barConstraint
оба равны null
.
Когда я установил утверждение вверх, как это, однако, она проходит:
A.CallTo(() =>
fakedTool.ObservedFunction(
A<Foo>.That.Matches(f => f.Name.Equals('Alice')),
A<Bar>.Ignored
)
).MustHaveHappened(Repeated.Exactly.Once);
Что вызывает такое поведение? Это предназначено?
Вы также можете принять ответ, чтобы сообщить читателям, что это правильно. –
@BlairConrad SO предотвращает принятие вашего собственного ответа в течение 2 дней - я соглашусь тогда :) –
Ah. Я не знал. Извините за беспокойство. –