SingleResult und UnitTesting

8

Ich habe die folgende Methode in meiner Klasse BaseApiController :

%Vor%

Ich verwende SingleResult für die OData-Anfrage (weil $expand für einzelne Entitäten nicht funktioniert, wenn ich kein SingleResult erstelle).
Aber jetzt habe ich Probleme mit UnitTests dieser Methode auf konkreten Controller (z. B. AddressApiController). Ich bekomme immer NULL im Ergebnis:

%Vor%

Ich habe GetById() überprüft und debuggt und festgestellt, dass repository.Table.Where(t => t.ID == id)) den richtigen Wert zurückgibt, aber nach SingleResult.Create bekomme ich NULL .

Wie kann ich dieses Problem lösen? Wie kann ich Inhalte von SingleResult lesen oder etwas anderes verwenden?

    
Roman Marusyk 22.10.2015, 11:03
quelle

2 Antworten

0

Ich habe Erweiterungen erstellt:

%Vor%

und dann:

%Vor%     
Roman Marusyk 26.05.2016, 23:50
quelle
0

Ich hatte keine Gelegenheit, eine API nachzuahmen, aber aus den Dokumenten hier:

Hier sind einige Regeln für die Methodensignaturen: Ссылка

Versuchen Sie, id zu key und attribute zu ändern, dann müssen Sie wahrscheinlich SingleResult nicht verwenden.

  • Wenn der Pfad einen Schlüssel enthält, sollte die Aktion einen Parameter namens key haben.
  • Wenn der Pfad einen Schlüssel in eine Navigationseigenschaft enthält, sollte die Aktion einen Parameter namens relatedKey haben.
  • Dekorieren Sie Schlüssel- und relatedKey-Parameter mit dem Parameter [FromODataUri].
  • POST- und PUT-Anfragen übernehmen einen Parameter des Entitätstyps.
  • PATCH-Anfragen verwenden einen Parameter vom Typ Delta, wobei T der Entitätstyp ist.

Ich würde gerne sehen, ob sich dadurch das Testergebnis ändert.

    
Devon Burriss 02.11.2015 19:57
quelle

Tags und Links