2011-03-15 50 views
8

我想爲一個方法調用兩次不同參數的行的異常。像這樣: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可以嗎?

回答

6

第二個期望覆蓋第一個期望是正確的。這似乎是目前的侷限性。一些解決方法已經被設計如下:

+0

不錯。比我面臨同樣問題時製作的狀態標誌和條件更可讀。 – 2011-03-15 12:55:22