Могу ли я использовать дерево выражений в качестве ограничения аргумента в утверждении FakeIteasy CallTo?
Учитывая метод в интерфейсе со следующей подписью:
interface IRepository<TEntity>
{
TEntity Single(Expression<Func<TEntity, bool>> predicate);
Вызывается в коде, какИтак:
Flight flight = repository.Single(f => f.ID == id);
Я имею в виду модульный тест, выполняющий что-то вроде этого:
Expression<Func<Flight, bool>> myExpression = flight => flight.ID == 1;
A.CallTo(() => repository.Single(
A<Expression<Func<Flight, bool>>>.That.Matches(myExpression)))
.Returns(new Flight());
Однако это выдает предупреждение: Попробуйте явно указать аргументы типа .
В настоящее время мне приходится использовать свойство Ignored, которое не является идеальным.