簡體   English   中英

如何使用NSubstitute模擬對同一方法的調用序列以在AutoFixture中返回不同的值?

[英]How to mock a sequence of calls to the same method to return different values in AutoFixture using NSubstitute?

我正在尋找一種模擬方法的方法,以便在多次調用時結果是不同的。 更具體地說,我要模擬的是方法,以便第三次調用該方法時,我想針對該結果進行斷言。

此語法正確,但是模擬了我想要完成的工作:

var foo = Fixture.Freeze<IFoo>();
foo.Exists(Arg.Any<object>()).Returns("firstcall").SecondCall("secondcall").ThirdCall("thirdcall");

您可以在AutoFixture中執行此操作嗎?

編輯:正如馬克所指出的,這是一個與NSubstitute有關的問題,而不是與AutoFixture本身有關。 我已經更新了標題。

我在提交問題之前已經找到了答案,所以我將答案發布在這里:

Fixture.Freeze<IFoo>()
    .Exists(Arg.Any<object>())
    .Returns("default", "firstcall", "secondcall", "thirdcall");

現在,當Exists()被調用三次時,響應將是"firstcall"然后是"secondcall"然后是"thirdcall" 此后的任何呼叫都將收到"default"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM