我有一个设置:
_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也会覆盖第一次设置的值。 我的问题的任何想法或具体解决方案?
我不想创建另一个模拟。
答案 0 :(得分:0)
我不完全确定为什么以这种方式使用It.Is
会破坏第一次设置,但是如果你只是传递原始整数,你将得到你期望的行为(并且代码更少): / p>
_fusionPORepMock.Setup(s => s.GetByFusionVersionID(123)).Returns(_currentPO);
_fusionPORepMock.Setup(s => s.GetByFusionVersionID(111)).Returns(_previousPO);