首頁 >後端開發 >C++ >如何使用最小起訂量模擬和參考參數?

如何使用最小起訂量模擬和參考參數?

Patricia Arquette
Patricia Arquette原創
2025-01-18 05:26:09602瀏覽

How to Mock Out and Ref Parameters with Moq?

Moq:處理 Out 和 Ref 參數

由於 Action<T> 的通用性質,使用 Moq 模擬和引用參數會帶來獨特的挑戰。 讓我們探討一下如何解決這個問題。

對於out參數,Moq提供了直接的解。 設定鏡像方法調用,捕捉輸出值:

<code class="language-csharp">public interface IService
{
    void DoSomething(out string a);
}

[TestMethod]
public void TestOutParameter()
{
    var serviceMock = new Mock<IService>();
    string expectedValue = "value";
    serviceMock.Setup(s => s.DoSomething(out expectedValue));

    string actualValue;
    serviceMock.Object.DoSomething(out actualValue);
    Assert.AreEqual(expectedValue, actualValue);
}</code>

Moq 在設定期間有效捕獲 expectedValue 並在呼叫模擬方法時使用它。

不幸的是,Moq 並沒有為 ref 參數提供類似優雅的解決方案。 Moq 快速入門指南(https://www.php.cn/link/a77054e9d6c3fb75907aed15140ca1e6) 提供了有關進階使用情境的更全面的指導,包括處理ref 參數的替代方法,其中可能涉及使用回調或自訂匹配器。

以上是如何使用最小起訂量模擬和參考參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn