Мой рестайлинг-вызов имеет baseUrl, установленный в файле конфигурации, на http://localhost:3000/
. Так что вызов вроде
Restangular.all("awards").customPOST(award)
Звонит в baseUrl+"awards"
Теперь, когда я пишу тест для этого, мне нужно написать:
httpBackend.expectPOST("http://localhost:3000/awards")
Но позже, если этот baseUrl changes
, мне придется изменить его во многих .expect()
.
Есть ли способ установить baseUrl
для метода ожидания, где-нибудь в файле конфигурации?
Итак, чтобы ожидать метода что-то like-
httpBackend.expectPOST(baseUrl + "awards");
Так что любое изменение в baseUrl не требует какого-либо изменения в методе expect()
?
Вы можете создать angular.constant
а затем ввести эту константу там, где это необходимо.
var app = angular.module('app', []);
app.constant('Configuration', {
BASE_URL: 'http://localhost:3000/'
});
app.factory('RestApiService', function($http, Configuration) {
var awardApi = Configuration.BASE_URL + '/awards';
return {
getAwards: fucntion() {
return $http.get(awardApi);
};
};
});