首页 >后端开发 >C++ >如何使用最小起订量模拟和参考参数?

如何使用最小起订量模拟和参考参数?

Patricia Arquette
Patricia Arquette原创
2025-01-18 05:26:09607浏览

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