在 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/