Unit-Tests mit attributbasiertem Routing

8

Ich habe einen Controller mit einem Routing-Attribut. Dieser Controller schlägt in einem Komponententest fehl, weil die Route nicht gefunden wurde:

  

Eine Route mit dem Namen "Werte" wurde in der Routensammlung nicht gefunden

Dies ist die Controller-Methode:

%Vor%

Dies ist mein Komponententest:

%Vor%

Ich habe auch versucht, dies zum Komponententest hinzuzufügen:

%Vor%

Aber das hat nichts geholfen.

    
user369117 22.07.2014, 08:49
quelle

2 Antworten

11

Ich habe den gleichen Fehler:

%Vor%

Aber der Komponententest läuft auf meinem Rechner, nachdem ich MapHttpAttributeRoutes und EnsureInitialized hinzugefügt habe:

%Vor%

Können Sie weitere Informationen zur Verfügung stellen, um das Problem zu reproduzieren oder zu überprüfen, ob es einen Unterschied zwischen unserem Testcode gibt?

    
Feng Zhao 27.07.2014, 15:25
quelle
1

Anstatt den Controller direkt in den Unit-Tests aufzurufen, verwenden Sie Helper-Methoden, um Controller context und Action context zu erhalten. Dies vermeidet die Verwendung von

%Vor%

Verweisen Sie die großartige Erklärung von Filip W. auf Testen von Routen in Web API 2

    
Aditya Singh 01.08.2014 05:15
quelle