| 

.NET C# Java Javascript Exception

2
Hi,

ich schreibe gerade mit der ASP.NET Web API einen OData Service. Meine Controller möchte ich natürlich mit Unit-Tests belegen. Get und Get mit einem Key habe ich soweit hinbekommen. Doch jetzt scheitere ich am Post.

Der EntitySetController möchte über die Properties vom Request einen OData-Pfad zum Erstellen der HttpResponseMessage. Doch wie kann ich den im Testfall setzen?

Bin für jeden Rat dankbar.
05.06.2013
Andreas Richter 1,7k 1 2 8
1 Antwort
0
Ich antworte mir mal selber, da ich in der Zwischenzeit eine für mich gangbare Lösung gefunden habe.

Ich verlasse mich auf die Korrekte Implementierung der Basisklasse EntitySetController aus dem Web.API. Mein eigener Controller überschreibt lediglich einige virtuelle Methoden, die ich mit Unit-Tests direkt aufrufe und somit deren Funktionalität teste.

Um auf die protected Methoden zugreifen zu können, habe ich mir einen ControllerTestWrapper geschrieben, der als interne Klasse in meinem Unit-Test lebt und die protected Methoden über internal CallXYZ-Methoden aufrufbar macht.

Das Vorgehen ersetzt natürlich keine Integrationstests. Aber um zu prüfen, ob ich die richtige Funktionalität in meinen OData-Kontrollern aufrufe, reicht mein o.g. Vorgehen.
14.06.2013
Andreas Richter 1,7k 1 2 8

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH