如果我这样做:
var repository = new Mock<IRepository<Banner>>(); repository.Setup(x => x.Where(banner => banner.Is.AvailableForFrontend())).Returns(list);
“Where”是我的存储库中采用Func< T,ISpecification< T>的方法. AvailableForFrontend返回ISpecification的实现,list是存储库的泛型类型的IEnumberable.
它编译得很好,但是当我运行测试时出现以下错误.
---- System.NotSupportedException : Expression banner => Convert((banner.Is.AvailableForFrontend() & banner.Is.SmallMediaBanner())) is not supported.
如果我在直接接受ISpecification的存储库中使用Where的其他重载,则没有问题.
解决方法
你尝试过以下语法:
repository.Setup(x => x.Where(It.IsAny<Func<T,ISpecification<T>>()).Returns(list);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。