簡體   English   中英

返回委托函數 NSubstitute

[英]Returns delegate function NSubstitute

我正在嘗試使用 NSubstitute 測試委托函數:

_myMock.CallDelegateIfKeyMissing(Arg.Any<string>, Arg.Any<Func<Task<string>>>())
.Returns(
   //The results of the delegate function "Arg.Any<Func<Task<string>>>"
);

請問這可能嗎? 謝謝

您可以從Returns訪問Func<Task<string>>參數並調用它:

_myMock
    .CallDelegateIfKeyMissing(Arg.Any<string>(), Arg.Any<Func<Task<string>>>())
    .Returns(
        x => x.Arg<Func<Task<string>>>().Invoke()
    );

var result = _myMock.CallDelegateIfKeyMissing("hi", () => Task.FromResult("world"));

Assert.Equal("world", result.Result);

NSubstitute 文檔中有更多信息。

暫無
暫無

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

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