Maison > développement back-end > C++ > Comment simuler et référencer des paramètres avec Moq ?

Comment simuler et référencer des paramètres avec Moq ?

Patricia Arquette
Libérer: 2025-01-18 05:26:09
original
601 Les gens l'ont consulté

How to Mock Out and Ref Parameters with Moq?

Moq : Paramètres de gestion et de référence

La simulation et les paramètres de référence avec Moq présentent des défis uniques en raison de la nature générique de Action<T>. Voyons comment résoudre ce problème.

Pour les paramètres out, Moq fournit une solution directe. La configuration reflète l'appel de méthode, capturant la valeur de sortie :

<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>
Copier après la connexion

Moq capture efficacement expectedValue lors de la configuration et l'utilise lorsque la méthode simulée est appelée.

Malheureusement, Moq n'offre pas de solution tout aussi élégante pour les paramètres ref. Le guide Moq QuickStart (https://www.php.cn/link/a77054e9d6c3fb75907aed15140ca1e6) fournit des conseils plus complets sur les scénarios d'utilisation avancés, y compris des approches alternatives pour la gestion des paramètres de référence pouvant impliquer l'utilisation de rappels ou de correspondances personnalisées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal