データを返すREST URLを呼び出すサービスがあります。
私のサンプルコードは
$http('POST', '/mockUrl/resource/'+resourceValue).then(...);
私のサービスが正常に動作し、それがデータを返すだろう。私の問題は、私がカルマでこれをどのようにテストするかです。今、私は呼び出されているmockUrlのためにテストされるべき別のresourceValueを持っています。 stackoverflowに来る前に、各テストで私は期待されたURLで$ httpBackendを定義していました。
例:
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