2012-08-13 20 views
5

In che modo il test di integrazione e il test dell'unità sono rilevanti per eseguire i test su APIController? e come posso deridere il repository durante la creazione della richiesta Web nel test di integrazione in modo che non faccia una query effettiva al database?Test di integrazione e test dell'unità (WEB API mvc 4)

risposta

5

È possibile utilizzare la funzionalità Self Hosting per avviare i controller e utilizzare la funzione OpenAsync().ContinueWith(t => { /* ... */ }) per eseguire i test. Dovrai sovrascrivere lo Configuration.DependencyResolver e sovrascrivere lo IHttpControllerActivator in modo da poter specificare la tua implementazione di simulazione (ad esempio, puoi utilizzare Ninject per recuperare il controller specifico già associato a un'implementazione fittizia).

+3

Trova un esempio completo qui: http://www.jefclaes.be/2012/07/should-i-unit-or-integration-test-my.html – JefClaes

+1

@JefClaes Il tuo articolo è molto utile! Con esempi e tutto, mostrando come eseguire un intero test end-to-end utilizzando MVC Web API senza attivare un server web. Molto bella. – Brain2000