$httpBackend.expect
- gibt eine Anfrage Erwartung
$httpBackend.when
- Gibt eine Back-End-Definition
Von: https://docs.angularjs.org/api/ngMock/service/ $ httpBackend
Anfrage Erwartungen bieten eine Möglichkeit, Machen Sie Aussagen über die von der Anwendung gestellten Anforderungen und definieren Sie Antworten für diese Anfragen. Der Test schlägt fehl, wenn die erwarteten Anforderungen nicht oder in der falschen Reihenfolge ausgeführt werden.
Backend-Definitionen ermöglichen es Ihnen, ein gefälschtes Backend für Ihre Anwendung zu definieren, das nicht bestätigt, wenn eine bestimmte Anfrage gestellt wurde oder nicht, es gibt nur eine trainierte Antwort zurück, wenn eine Anfrage gestellt wird. Der Test wird bestehen, ob die Anfrage während des Tests gestellt wird oder nicht.
Daher bedeutet dies, dass, wenn Sie eine Anfrage Erwartung mit expect
die Test-Set wird fehlschlagen, wenn Sie nicht die gleiche Anfrage genauen bekommen, genaue Anzahl. Wenn Sie es jedoch mit when
setzen, wird das Backend entsprechend reagieren, aber es hat keine Erwartungen darüber, wie viele Anfragen (falls vorhanden) daher kommen wird der Test nicht fehlschlagen.
Es fühlt sich immer noch unklar an. sollte "wenn" verwendet werden wie: "(* wenn * überhaupt) fragt die App nach" irgendwas Backend-Sache "gib es einfach" –
Expect wird geworfen, wenn die Anfrage nicht der Erwartung entspricht und somit den Test nicht besteht. "Wenn" keine Erwartung besteht, wird es auf Anfragen angemessen reagieren, wird jedoch nicht fehlschlagen, wenn keine Anfrage eingeht. Verwenden Sie 'expect', wenn Sie die Anfrage in einem bestimmten Format bestätigen möchten. Verwenden Sie "wenn", wenn Sie sich nicht um die Anfrage kümmern. –