$httpBackend.expect
- specifica una richiesta di aspettativa
$httpBackend.when
- specifica una definizione backend
Da: https://docs.angularjs.org/api/ngMock/service/ $ httpBackend
Richiesta aspettative forniscono un modo per fare asserzioni sulle richieste fatte dall'applicazione e definire le risposte per tali richieste. Il test avrà esito negativo se le richieste previste non vengono eseguite o se vengono eseguite nell'ordine errato.
Le definizioni di backend consentono di definire un backend falso per l'applicazione che non asserisce se una particolare richiesta è stata effettuata o meno, ma restituisce una risposta addestrata in caso di richiesta. Il test passerà indipendentemente dal fatto che la richiesta venga effettuata durante il test.
Pertanto, vuol dire che se si imposta una richiesta di aspettativa con expect
il test avrà esito negativo se non si ottiene la stessa richiesta esatto, esatto numero di volte. Tuttavia, se lo si imposta con when
, il backend risponderà in modo appropriato, ma non ha aspettative sul numero di richieste (se presenti) che pertanto non falliranno il test.
fonte
2015-01-14 15:00:38
Non è ancora chiaro. dovrebbe 'quando' essere usato come: "(* quando * mai) l'app chiede" qualche cosa di backend "basta dargli questo" –
Expect getterà se la richiesta non corrisponde alle aspettative e quindi fallirà il test. 'Quando' non ha aspettative, risponderà in modo appropriato alle richieste, ma non fallirà se non arriva nessuna richiesta. Usa 'expect' se vuoi affermare che la richiesta arriva in un determinato formato; usa 'when' se non ti interessa la richiesta. –