2012-08-13 21 views
5

W jaki sposób test integracyjny i test jednostkowy mają znaczenie przy wykonywaniu testów w APIController? i w jaki sposób mogę sfałszować repozytorium podczas tworzenia zapytania w teście integracji, aby nie tworzyło rzeczywistego zapytania do bazy danych?Test integracji i test jednostkowy (WEB API mvc 4)

Odpowiedz

5

Możesz użyć funkcji Self Hosting, aby uruchomić kontrolery i użyć funkcji OpenAsync().ContinueWith(t => { /* ... */ }) do przeprowadzenia testów. Będziesz chciał zastąpić Configuration.DependencyResolver i zastąpić IHttpControllerActivator, aby można było określić własną implementację próbną (np. Możesz użyć programu Ninject w celu pobrania określonego kontrolera już powiązanego z implementacją próbną).

+3

Zobacz pełny przykład tutaj: http://www.jefclaes.be/2012/07/should-i-unit-or-integration-test-my.html – JefClaes

+1

@JefClaes Twój artykuł jest najbardziej przydatny! Z przykładami i wszystkimi, pokazując, jak wykonać cały test end-to-end przy użyciu MVC Web API bez uruchamiania serwera WWW. Bardzo dobrze. – Brain2000

Powiązane problemy