Naprawdę staram się znaleźć najprostszy sposób, aby moja aplikacja kątowa korzystała z fałszywej usługi backendu.
wszelkie wskaźniki byłyby świetne, przykładowa aplikacja, która pokazuje, jak napisać prostą aplikację, której użyłaby. tnx!
Naprawdę staram się znaleźć najprostszy sposób, aby moja aplikacja kątowa korzystała z fałszywej usługi backendu.
wszelkie wskaźniki byłyby świetne, przykładowa aplikacja, która pokazuje, jak napisać prostą aplikację, której użyłaby. tnx!
Oto przy użyciu $ httpBackend dla próbki z opracowaniem bez zaplecza jako przykładem odpowiedzi na this question.
Główne rzeczy dodane do plnkr aby uzyskać to do pracy to:
angular-mocks.js
.ngMockE2E
w angular.module wymaga tablicę na linii 3 w app.js$httpBackend
do app.run i dodaje kod do powiedzenia mock backend czego się odpowiedzieć, gdy dostać się do określonego adresu URL jest wymagana .Zostało to w większości wykonane z dokumentacji $httpBackend. Zauważ, że możesz wykonać numer .passThrough()
dla wszystkich połączeń, w których chcesz trafić do backendu (pomijając próbę). Jest to szczególnie przydatne, jeśli części zaplecza już działają.
Oto podstawowy szablon wyciągnął z różnymi przykładami:
'use strict';
(function() {
if(!document.URL.match(/\?nobackend$/)){
// if not requested only add a blank stub to app dependency.
angular.module('ds.backendMock', []);
} else if (document.URL.match(/\?nobackend$/)) {
// if the query string is present add a module with a run definition to replace the back end.
angular.module('myMock', ['ngMockE2E'])
.run(function($httpBackend) {
// MOCK-RUNNER-CONFIGURATION-.
var DOMAIN = 'example.com',
$httpBackend.whenGET('http://'+DOMAIN+'/someexample')
.respond(
//MOCK-ERROR-STATUS-CODE
//401 //500 //404 //uncomment integer to mock status code and comment out mock data.
//MOCK-DATA-RESPONSE
{
'id' : '1',
'name' : 'MOCK',
'description' : 'mocking',
}
); //end mock.
// various passthroughs. these allow existing services to work, while some are mocked.
$httpBackend.whenGET('./some.html').passThrough();
// dont mock everything else, specify pass through to avoid error.
$httpBackend.whenGET(/^\w+.*/).passThrough();
$httpBackend.whenPOST(/^\w+.*/).passThrough();
});
}
})(angular);
„.passThrough()” będzie również przydatna do wczytywania szablonów inaczej «$ httpBackend» zakłóca zwykły mechanizm szablon ładowania. Na przykład dodaj, '$ httpBackend.whenGET (/ \. Html $ /). PassThrough();' –