gpt4 book ai didi

c# - Moq 返回与参数相同的委托(delegate)

转载 作者:太空宇宙 更新时间:2023-11-03 21:21:44 24 4
gpt4 key购买 nike

我是 Moq 的新手,正在寻找一种能够模拟以下界面的方法。

public interface ICacheProveder
{
T GetOrAddToCache<T>(string key, Func<T> populateFunc);
}

该接口(interface)当前用于缓存代码表等项目。模拟需要返回传递到 via populateFunc 的任何结果。我目前使用的是 Moq 版本 4.2.1502.911

最佳答案

要返回作为参数传递的 Func 的结果,您可以使用 Returns from Moq .

在下面的例子中,为简单起见,我选择Tstring,可以根据需要更改。

[Test]
public void TetMethod()
{
//Setup
var cacheProveder = new Mock<ICacheProveder>();

cacheProveder.Setup(a => a.GetOrAddToCache<string>(It.IsAny<string>(), It.IsAny<Func<string>>()))
.Returns((string key, Func<string> populateFunc) => { return populateFunc(); });

// rest of the code

}

关于c# - Moq 返回与参数相同的委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30272610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com