我为我的Generate()方法向Moq提供了什么';s委托参数
本文关键字:什么 参数 Generate 我的 Moq 方法 | 更新日期: 2023-09-27 18:28:23
我有一个正在重构的遗留系统。
我的目标大致如下:
public class SUT
{
public delegate SaveStuff(SomeObject obj);
public void Generate(SaveStuff saver)
{
// Do stuff
var obj = new SomeObject();
saver(obj);
}
}
我对使用Moq非常陌生,我想计算"saver"被调用的次数。
我在SO上看到了很多例子,但对如何设置测试感到困惑
[Test]
public void TestDelegateCall()
{
var sut = new SUT();
// Prepare SUT's State...
var callCount = 0;
sut.Generate(??);
Assert.AreEqual(callCount,2);
}
什么去了哪里??是
我不知道你需要在这里使用最小起订量,我相信你可以做以下事情,并利用匿名方法和闭包:)
var callCount = 0
sut.Generate(obj=>callCount++);
如果这不起作用,那么您可以直接使用显式委托设置:
var callCount = 0
SaveStuff actionCounter = delegate(SomeObject obj)
{
callCount++;
};
sut.Generate(actionCounter);