Moq第二次设置会覆盖第一次设置返回的值

时间:2014-11-17 13:01:03

标签: moq

我有一个设置:

_fusionPORepMock.Setup(s => s.GetByFusionVersionID(It.Is<int>(i => i.Equals(123)))).Returns(_currentPO);

_fusionPORepMock.Setup(s => s.GetByFusionVersionID(It.Is<int>(i => i.Equals(111)))).Returns(_previousPO);

然而,即使参数不同,Moq也会覆盖第一次设置的值。 我的问题的任何想法或具体解决方案?

我不想创建另一个模拟。

1 个答案:

答案 0 :(得分:0)

我不完全确定为什么以这种方式使用It.Is会破坏第一次设置,但是如果你只是传递原始整数,你将得到你期望的行为(并且代码更少): / p>

_fusionPORepMock.Setup(s => s.GetByFusionVersionID(123)).Returns(_currentPO);

_fusionPORepMock.Setup(s => s.GetByFusionVersionID(111)).Returns(_previousPO);