Maison >développement back-end >C++ >Comment simuler et référencer des paramètres avec 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>
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!