2015-04-24 16 views
8

Jest to funkcja jQuery:Jak przetestować wywołanie zwrotne niepowodzenia JQuery?

$.get("/url", function(){ 

    //success 
}).fail(function(){ 
    //fail  <---- how to make code go in there. 
}); 

Problem jest jak pozwolić program przechodzi do .fail bloku, używam MVC, jednak ustawić punkt przerwy w sterowniku nie wywoła wyjątek Timeout następnie prowadzi się niepowodzeniem oddzwonić.

Nie wiem, jak ludzie to testują.

Czy powinienem zacząć przeglądać niektóre narzędzia?

+2

szukasz tego, co nazywa się „mock” Biblioteka - przykład https://github.com/jakerella/jquery-mockjax - większość bibliotek testujących będzie w stanie pozorować wbudowane żądania HTTP (zobacz http://stackoverflow.com/questions/13148356/how-to-properly-unit-test -jquerys-ajax-obiecuje-użycie-jaśminu-i-lub-sinonu na przykład) – Sacho

+1

Jakie warunki, odpowiedzi powinny wywoływać '.fail()'? Próbowałem wykorzystując '.always()', definiując "sukces", "niepowodzenie" warunków dla wszystkich odpowiedzi w ramach '.always()'? – guest271314

Odpowiedz

1

umieścić to w swoim sposobie Kontroler:

return new HttpStatusCodeResult(HttpStatusCode.NotFound); 
+0

W każdej najnowszej wersji MVC, po prostu 'return HttpNotFound();' https://msdn.microsoft.com/en-us/library/system.web.mvc.controller.httpnotfound%28v=vs.118%29. aspx " –

0

Użyj nieprawidłowego adresu URL punktu końcowego. Powinieneś otrzymać 404 - nie znaleziono błędu kodu statusu http.

Powiązane problemy