Sto scrivendo qualche test per la nostra app e ho incluso angularjs-mocks.js in modo che io possa usare le belle funzioni di dsl che vengono con esso.Utilizzo di mock di angularjs senza realmente prendere in giro qualcosa
Ma non voglio realmente prendere in giro le richieste $ http, dal momento che sto integrando questa app con il backend di un client che è costantemente in flusso e voglio testare le risposte reali.
Qual è il modo migliore (più semplice) per utilizzare il vero back-end http in questa situazione?
EDIT:
ho trovato una soluzione potenziale, che è quello di utilizzare questo:
$httpBackend.whenPOST(/.*/).passThrough()
Ma, come ho detto qui di seguito, non funziona, forse rotto? Ottengo questo errore:
Error: Unexpected request: POST /some/url/here No more request expected
Ho aperto un problema qui: https://github.com/angular/angular.js/issues/1434
si potrebbe sempre creare un mock $ http per iniettare creando un semplice javascript che ha fatto la richiesta http XHR, non sono necessari mock angolari. È il bello del testing in JavaScript, puoi schiaffeggiare gli oggetti e iniettarli come preferisci grazie alla digitazione dinamica. –
Giusto, ma il problema è che gli arresti d'angolo sovrascrivono $ httpBackend, che usa $ http. Ora sto cercando di aggirarlo con $ httpBackend.whenGET (/.*/). PassThrough(), ma sembra sia rotto, o non lo sto usando bene. – doubledriscoll
Immagino che cosa sto suggerendo sia possibile utilizzare vanilla js per creare un oggetto con tutti i metodi necessari. Non è necessaria una simulazione angolare. –