ホームページ > バックエンド開発 > C++ > Moq でパラメータをモックアウトおよび参照する方法は?

Moq でパラメータをモックアウトおよび参照する方法は?

Patricia Arquette
リリース: 2025-01-18 05:26:09
オリジナル
601 人が閲覧しました

How to Mock Out and Ref Parameters with Moq?

Moq: Out パラメーターと Ref パラメーターの処理

Moq を使用してパラメーターをモックアウトし、参照する場合、Action<T> の汎用的な性質により、独特の課題が生じます。 これに対処する方法を見てみましょう。

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 パラメーターを処理するための代替アプローチを含む、高度な使用シナリオに関するより包括的なガイダンスを提供します。

以上がMoq でパラメータをモックアウトおよび参照する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート