我想檢查某個特定方法是否被調用 N 次,首先使用 arg x1,然后使用 x2,然后使用 x3,等等,最后使用 arg xN。我知道可以這樣做:Received.InOrder(() => { subst.MyMethod(x1); subst.MyMethod(x2); subst.MyMethod(x3); // ... subst.MyMethod(xN);});但是可以通過某種簡單列出參數序列的方式來完成嗎?像這樣的東西(概念性的):int[] args = {x1, x2, x3, /*...*/ xN};subst.Received(N).MyMethod(Arg.Is(args));這是一個使用 InOrder 的實現,但我認為這是一種解決方法:int[] args = {x1, x2, x3, /*...*/ xN};Received.InOrder(() => { foreach (int i in args) subst.MyMethod(i);});
1 回答

郎朗坤
TA貢獻1921條經驗 獲得超9個贊
NSubstitute API 沒有執行此操作的方法。對我來說,
foreach
?方法是最清晰的;它準確地顯示了測試成功的預期。如果您經常需要,您可以編寫一個方法來打包此邏輯,但是雖然它可能會使其更加簡潔,但我認為這不會使其變得更清晰。
- 1 回答
- 0 關注
- 165 瀏覽
添加回答
舉報
0/150
提交
取消