Moq对同一方法的期望连续两次

时间:2011-03-15 12:40:45

标签: c# testing moq

我正在尝试为具有不同参数的行连续调用两次的方法设置异常。像这样:

  var adapter = new Mock<IKeyAdapter>();
  adapter.Setup(x => x.ImportKey(It.IsAny<Guid>(), key, It.IsAny<string>(), publicTicket)).Returns(Guid.NewGuid());
  adapter.Setup(x => x.ImportKey(It.IsAny<Guid>(), key, It.IsAny<string>(), privateTicket)).Returns(Guid.Empty);

我不是第一个通过,第二个失败。目前似乎第二个设置覆盖了第一个。

Moq可以实现吗?

1 个答案:

答案 0 :(得分:7)

你是正确的,第二个期望是覆盖第一个。这似乎是当前的限制。一些解决方法设计如下: