我想創建一個通用的測試類來測試我的通用控制器。一切工作正常,除了這一點: 我有這樣的方法:表達式<Func <T, bool>>與It.IsAny總是返回true
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.
我的設置錯了嗎?
什麼是你正在測試?在我看來,你想嘲笑實際執行存儲庫查找邏輯。 – fsimonazzi