我可以在 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 属性。