【发布时间】:2012-11-16 22:26:37
【问题描述】:
我正在尝试创建一个通用测试类来测试我的通用控制器。一切正常,除了这个: 我有这样的方法:
private T GetSingle(Expression<Func<T, bool>> expression)
我正在尝试这样设置测试:
var Guids = new[] { Guid.NewGuid(), Guid.NewGuid() };
var items = Guids.Select(x => new T {Id = x});
var mock = new Mock<IRepository<T>>();
mock.Setup(m => m.GetSingle(
It.IsAny<Expression<Func<T, bool>>>()))
.Returns(new T());
然后像这样执行测试:
var value = Repository.GetSingle(x=> x.Id == Guid.NewGuid());
这总是返回一个新的T。
我的设置错了吗?
【问题讨论】:
-
你在测试什么?在我看来,您想模拟实际实现存储库查找逻辑。
标签: c# unit-testing generics moq expression-trees