Moq return 与参数相同的委托
Moq return same delegate as parameter
我对 Moq 很陌生,正在寻找一种能够模拟以下界面的方法。
public interface ICacheProveder
{
T GetOrAddToCache<T>(string key, Func<T> populateFunc);
}
此接口当前用于缓存代码表等项目。模拟需要 return 传递到 via populateFunc 的任何结果。我目前使用的是 Moq 版本 4.2.1502.911
要return Func
的结果作为参数传递,您可以使用Returns
from Moq。
在下面的例子中,为了简单起见,我选择T
作为string
,可以根据需要更改。
[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
}
我对 Moq 很陌生,正在寻找一种能够模拟以下界面的方法。
public interface ICacheProveder
{
T GetOrAddToCache<T>(string key, Func<T> populateFunc);
}
此接口当前用于缓存代码表等项目。模拟需要 return 传递到 via populateFunc 的任何结果。我目前使用的是 Moq 版本 4.2.1502.911
要return Func
的结果作为参数传递,您可以使用Returns
from Moq。
在下面的例子中,为了简单起见,我选择T
作为string
,可以根据需要更改。
[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
}