gpt4 book ai didi

c# - 使用 Moq 验证委托(delegate)

转载 作者:IT王子 更新时间:2023-10-29 04:05:36 26 4
gpt4 key购买 nike

我得到了一个通过参数获取委托(delegate)的类。此类调用该委托(delegate),我想用最小起订量对其进行单元测试。我如何验证此方法已被调用?

示例类:

public delegate void Foo(int number);

public class A
{
int a = 5;

public A(Foo myFoo)
{
myFoo(a);
}
}

我想检查是否调用了 Foo。谢谢。

最佳答案

截至this commit Moq 现在支持模拟委托(delegate),对于您的情况,您可以这样做:

var fooMock = new Mock<Foo>();
var a = new A(fooMock.Object);

然后您可以验证委托(delegate)是否被调用:

fooMock.Verify(f => f(5), Times.Once);

或者:

fooMock.Verify(f => f(It.IsAny<int>()), Times.Once);

关于c# - 使用 Moq 验证委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10998455/

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