Qual è il modo più semplice per modificare scenari.js per simulare una richiesta AJAX durante un test end-to-end?Come prendere in giro una richiesta AJAX?
<!doctype html>
<html lang="en" ng-app="myApp">
<head>
<meta charset="utf-8">
<title>My Test AngularJS App</title>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular-resource.min.js"></script>
<script language="javascript" type="text/javascript">
angular.module('myApp', ['ngResource']);
function PlayerController($scope,$resource){
$scope.player = $resource('player.json').get();
}
</script>
</head>
<body ng-controller="PlayerController">
<p>Hello {{player.name}}</p>
</body>
</html>
Il lettore viene prelevato correttamente da un file denominato player.json sul server e vengono eseguiti i seguenti passaggi di test. Come posso passare diversi json in questo test e impedire il recupero sul server?
/*
How do I pass in
player.json -> {"name":"Chris"}
*/
describe('my app', function() {
beforeEach(function() {
browser().navigateTo('../../app/index.html');
});
it('should load player from player.json', function() {
expect(element('p:first').text()).
toMatch("Hello Chris");
pause();
});
});
Il mio punto è che non vedo l'esempio ngMockE2E nella documentazione. Sto cercando le poche righe di codice da aggiungere a scenarios.js. – Chris
Non dovresti aver bisogno di mod scenari.js se sto capendo correttamente la tua domanda. La risposta di Caio è il modo standard per gestire questa situazione –
Ok. Lasciami essere chiaro. Non capisco come fare ciò che Caio sta raccomandando. C'è un po 'di magia che viene assunta dalla documentazione come "Successivamente, avvia la tua app con questo nuovo modulo". Come si fa a farlo? – Chris