gpt4 book ai didi

c# - FakeItEasy 配置 fake 以抛出异常并在下一次调用时返回值

转载 作者:行者123 更新时间:2023-11-30 13:44:00 25 4
gpt4 key购买 nike

我们必须实现重试机制。

为了测试 RetryProvider,我想要一个假类在前两次调用时抛出异常,但在第三次调用时返回一个有效对象。

在正常情况下(不抛出异常)我们可以使用 A.CallTo(() => this.fakeRepo.Get(1)).ReturnsNextFromSequence("a", "b", "c");

我想要类似的东西:

  • 第一次调用:throw new Exception();
  • 第二次调用:throw new Exception();
  • 第三次调用:返回“成功”;

我怎样才能配置我的假货来做到这一点?

提前致谢

最佳答案

var fakeRepo = A.Fake<IFakeRepo>();

A.CallTo(() => fakeRepo.Get(1))
.Throws<NullReferenceException>()
.Once()
.Then
.Throws<NullReferenceException>()
.Once()
.Then
.Returns('a');

Specifying different behaviors for successive calls 查看更多相关信息.

关于c# - FakeItEasy 配置 fake 以抛出异常并在下一次调用时返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47017216/

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