Verwaltung von Out/Ref-Parametern in Moq
Moq ist ein beliebtes Unit-Test-Framework, das leistungsstarke Simulationsfunktionen bietet. Allerdings gibt es noch einige Fragen zur Unterstützung der Zuweisung von Out/Ref-Parametern. In diesem Artikel wird die Machbarkeit dieser Funktion untersucht und gegebenenfalls Lösungen bereitgestellt.
'Out'-Parameter
Moq ermöglicht die Zuweisung von Parametern zu Werten durch einfache Techniken. Ein Beispiel ist wie folgt:
<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>
In diesem Szenario erfasst Moq den Wert von ExpectedValue, wenn Setup aufgerufen wird. Wenn die Mock-Methode ausgeführt wird, gibt sie diesen Wert zurück.
'Ref'-Parameter
Leider unterstützt Moq derzeit keine Ref-Parameter. Die Lösung für den Out-Parameter kann hier nicht direkt angewendet werden. Sie können jedoch die Callback-Methode verwenden, um ein ähnliches Verhalten zu erreichen. Allerdings unterstützt Action keine Ref-Parameter.
Die Dokumentation von Moq bietet eine nützliche Kurzanleitung mit Einblicken in verschiedene Aspekte des Frameworks: https://www.php.cn/link/a77054e9d6c3fb75907aed15140ca1e6
Das obige ist der detaillierte Inhalt vonWie kann ich Parameter mit Moq verspotten und referenzieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!