c# - Moq 中是否有类似于 SetupGetSequence 的东西

标签 c# unit-testing moq

Moq 中,我知道有 SetupSequence 用于设置函数的顺序使用,还有 SetupGet 用于设置一个值属性(property)。

但是我需要按顺序设置一个属性。

有没有办法在 Moq 中设置顺序获取?

注意:我没有编写我正在模拟的接口(interface)或服务,因此我无法更改它。

最佳答案

使用 SetupSequence 对返回值进行排序也适用于属性 getter :

mock.SetupSequence(m => m.PropertyName).Returns(1).Returns(2).Returns(3);

注意:您可以使用 Setup 而不是 SetupGet,因为 Moq 检查给定 lambda 表达式的主体是否为属性并调用 SetupGet 内部 [Source Code] .因此,您唯一的好处就是跳过此内部检查。

关于c# - Moq 中是否有类似于 SetupGetSequence 的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43411361/

相关文章:

c# - 如何在调用 window.showdialog 后以编程方式关闭窗口?

c# - 从 HSV 中提取色度/相对色度

c++ - googletest:是否可以选择单个测试夹具/案例?

c# - 在 C# 中使用 Moq 引发复杂事件

c# - Moq - 如何为通用基类的方法实现模拟?

c# - 使用 Stream writer 将特定字节写入文本文件

c# - ASP.NET Core 运行两个 TestServer 进行集成测试

javascript - React-testing-library:因输入而改变

unit-testing - 使用 Chutzpah 进行简单的 TypeScript 测试不起作用

c# - 我如何模拟 Directory.GetFiles?