ホームページ >バックエンド開発 >C++ >Moq を使用してパラメータをモックアウトおよび参照するにはどうすればよいですか?

Moq を使用してパラメータをモックアウトおよび参照するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-18 05:37:15249ブラウズ

How Can I Mock Out and Ref Parameters with Moq?

Moq での Out/Ref パラメーターの処理

Moq は、強力なシミュレーション機能を提供する人気のある単体テスト フレームワークです。ただし、out/ref パラメーターの割り当てのサポートについては、まだいくつかの疑問があります。この記事では、この機能の実現可能性を検討し、該当する場合は解決策を提供します。

「出力」パラメータ

Moq では、簡単な手法でパラメータに値を割り当てることができます。例は次のとおりです:

<code>public interface IService
{
    void DoSomething(out string a);
}

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

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

このシナリオでは、Moq は Setup が呼び出されたときに ExpectedValue の値をキャプチャします。モック メソッドが実行されると、この値が返されます。

'Ref' パラメータ

残念ながら、Moq は現在 ref パラメータをサポートしていません。 out パラメータの解決策をここに直接適用することはできません。ただし、Callback メソッドを使用して同様の動作を実現できます。ただし、Action は ref パラメーターをサポートしません。

Moq のドキュメントは、フレームワークのさまざまな側面についての洞察を含む便利なクイック スタート ガイドを提供します: https://www.php.cn/link/a77054e9d6c3fb75907aed15140ca1e6

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。