Wie man Httpverbs mit httpMessageHandler verspottet

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Wie man Httpverbs mit httpMessageHandler verspottet

by Anonymous » 02 May 2025, 07:15

In meinem C# -Projekt teste ich die Implementierung für einen API -Dienst, der den HaupthttpverB wie Get , post , put und löschen verwendet. Um das GET zu überprüfen, habe ich diesen Mock
geschrieben.

Code: Select all

var mockHandler = new Mock(MockBehavior.Strict);
mockHandler
.Protected()
.Setup(
"SendAsync",
ItExpr.Is(m => m.Method == HttpMethod.Get),
ItExpr.IsAny())
.ReturnsAsync(mockResponse);
< /code>
Dann mache ich den Anruf zum API -Dienst und möchte die Rückgabe überprüfen. < /p>
mockHandler.Protected().Verify(
"SendAsync",
Times.Exactly(1),
ItExpr.Is(m => m.Method == HttpMethod.Get),
ItExpr.IsAny());
Dies funktioniert für die Get -Methode. Wenn ich den Code kopiere und GET durch die anderen ersetze, wie zum Beispiel
var mockHandler = new Mock(MockBehavior.Strict);
mockHandler
.Protected()
.Setup(
"PostAsync",
ItExpr.Is(m => m.Method == HttpMethod.Post),
ItExpr.IsAny())
.ReturnsAsync(mockResponse);
< /code>
Ich erhalte einen Fehler < /p>

Testmethode psc.csharp.library.apiclient.Tests.APIServicetests.put_Person_Test_valid -Ausnahme:
bowStem.argumentException: Keine geschützte Methode HTTTPMESSAGEMESSGELEGE. kompatibel mit den angegebenen Argumenten (httprequestMessage, cancellationToken). Mein Quellcode ist auf Github verfügbar.

Top