gpt4 book ai didi

c# - 最小起订量:设置一个模拟方法以在第一次调用时失败,在第二次调用时成功

转载 作者:IT王子 更新时间:2023-10-29 04:03:06 24 4
gpt4 key购买 nike

使用 Moq 模拟第一次调用会抛出异常,然后第二次调用成功的方法的最简洁方法是什么?

最佳答案

我会利用 Callback 并增加一个计数器来确定是否从 Callback 中抛出异常。

[Test]
public void TestMe()
{
var count = 0;
var mock = new Mock<IMyClass>();
mock.Setup(a => a.MyMethod()).Callback(() =>
{
count++;
if(count == 1)
throw new ApplicationException();
});
Assert.Throws(typeof(ApplicationException), () => mock.Object.MyMethod());
Assert.DoesNotThrow(() => mock.Object.MyMethod());
}

public interface IMyClass
{
void MyMethod();
}

关于c# - 最小起订量:设置一个模拟方法以在第一次调用时失败,在第二次调用时成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7045508/

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