Ich versuche, einen Test für einige unserer Webapi-Anrufe zu erstellen, und ich habe Schwierigkeiten beim Zugriff auf die Ergebnisse. In allen Beispielen, die ich gesehen habe, benutzten sie OkNegotiatedContentResult. Das Problem ist, dass wir in unseren Web-API-Aufrufen die Daten oft in anonyme Objekte verpacken, so dass wir Datensätze kombinieren können. Ich übersehe wahrscheinlich etwas Offensichtliches, aber ich kann nicht den richtigen Weg finden, die Ergebnisinformationen zu überprüfen, um sie zu validieren.IHttpActionResult Anonymes Objekt - Ergebnisse validieren
WebAPI Snippet
var orderInfo = new
{
Customer = customerInfo,
Order = orderInfo
}
return Ok(orderInfo);
Api Test-Snippet
[TestMethod]
public void TestGetOrderInfo()
{
var controller = new OrderController(_repo);
IHttpActionResult results = controller.GetOrderInfo(46);
Assert.IsNotNull(results);
}
Wie kann ich die Ergebnisse mit der OkNegotiatedContentResult überprüfen, wenn ein anonymer Typ beteiligt ist?
habe dich jemals funktioniert das? Ich habe genau das gleiche Problem, das versucht, einen Controller zu testen, der JSON über 'IHttpActionResult' zurückgibt und einen anonymen Typ sieht, weil er einen Root-Knoten vor der Rückkehr vom Controller hinzufügen muss. Ich kann das nicht testen, weil ich nicht richtig "OkNegoatedContentResult" verwenden kann. Ich habe den dynamischen Ansatz unten ohne Erfolg ausprobiert. – Patrick