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 サイトの他の関連記事を参照してください。