Voglio testare la mia app angolare con goniometro. L'app ha un modulo API che comunica con il server Durante questi test voglio prendere in giro questo modulo Api. Non voglio eseguire test di integrazione completi, ma test dall'input dell'utente con i valori previsti dall'API. Non solo questo potrebbe rendere più veloci i test del client, ma mi permetterebbe anche di testare i casi limite, come gli errori di connessione.Mocking e Stubbing con goniometro
Come posso fare questo con il goniometro? Ho appena iniziato a configurare i test di integrazione.
Ho utilizzato il modulo del goniometro npm, il selenio installato, ho regolato la configurazione di default e ho usato il onProtractorRunner.js per verificare che il mio setup funzioni.
Qual è il modo consigliato di prendere in giro? Suppongo che il mocking debba essere fatto all'interno del browser e non direttamente nel file di test. Suppongo che i comandi nel file di test siano specifici del goniometro e che vengano inviati ai corridori di selenio. Pertanto non posso condividere oggetti javascript durante la sessione e il test.
In qualche modo mi aspetto che avrò bisogno di una libreria di spie come sinon.js o è già inclusa nel goniometro?
Modifica: Ho letto circa this issue in the protractor issue tracker, che potrebbe essere un modo per farlo. Fondamentalmente si scrive un modulo Mock nel test, che viene inviato per essere eseguito nel browser/nell'ambito delle applicazioni.
Modifica: Ecco i problemi più promettenti. Il primo parla di adding Mocks to the Angular App. Il secondo parla di mocking the backend.
Questo sembra davvero bello, in questo caso l'App Angolare rimarrebbe nella sua forma originale. Tuttavia questo attualmente funziona solo con gli scenari ng deprecati.
Hai trovato una soluzione nel frattempo? Ho avuto un po 'lo stesso problema, vedi http://stackoverflow.com/questions/21727053/angularjs-protractor-e2e-mocking –