У меня есть служба, которая вызывает URL REST, который возвращает данные.
Мой пример кода будет
$http('POST', '/mockUrl/resource/'+resourceValue).then(...);
Моя служба отлично работает и возвращает данные. Моя проблема заключается в том, как проверить это в карме. Прямо сейчас у меня есть другой ресурс, который нужно проверить для вызова mockUrl. Прежде чем перейти к stackoverflow, в каждом тесте я определял $ httpBackend с ожидаемым URL.
например:
it('testing for status 200', function(){
$httpBackend.when('POST', '/mockUrl/resource/'+1234)
.respond(function (method, url, data, headers) {
return [200, data1];
});
MyService.serviceMethod(1234).then(function(){
//test the returned data
});
});
it('testing for status 201', function(){
$httpBackend.when('POST', '/mockUrl/resource/'+4567)
.respond(function (method, url, data, headers) {
return [201, data2];
});
MyService.serviceMethod(1234).then(function(){
//test the returned data
});
});
мне говорят, что я не должен писать свои кармические испытания вышеуказанным способом. Но я не знаю, как этого избежать.
Я попытался
$httpBackend.when('POST',url)
.respond(function (method, url, data, headers) {
return data[option];
});
Но это 'URL' никогда не будет вызываться в любом тесте. Я не уверен, как двигаться дальше.
рассмотреть, чтобы вставить код с отступом – Hitmands
это легче читать прямо сейчас – manu