Gestion des paramètres Out/Ref dans Moq
Moq est un framework de tests unitaires populaire qui offre de puissantes capacités de simulation. Cependant, quelques questions subsistent quant à sa prise en charge de l'attribution des paramètres out/ref. Cet article explore la faisabilité de cette fonctionnalité et propose des solutions le cas échéant.
Paramètre 'Out'
Moq permet d'attribuer des valeurs aux paramètres grâce à des techniques simples. Un exemple est le suivant :
<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>
Dans ce scénario, Moq capture la valeur de ExpectValue lorsque le programme d'installation est appelé. Lorsque la méthode simulée s'exécutera, elle renverra cette valeur.
Paramètre 'Ref'
Malheureusement, Moq ne prend actuellement pas en charge les paramètres de référence. La solution pour le paramètre out ne peut pas être directement appliquée ici. Toutefois, vous pouvez utiliser la méthode Callback pour obtenir un comportement similaire. Cependant, Action ne prend pas en charge les paramètres ref.
La documentation de Moq fournit un guide de démarrage rapide utile avec un aperçu de divers aspects du framework : https://www.php.cn/link/a77054e9d6c3fb75907aed15140ca1e6
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!