ジャスミンとカルマを使用して角度サービスのテストを作成しようとしています。私はスペックについては、以下のファイルを使用してそれをtesitngい角度サービステストで必要な応答が返されない
angular.module('omdb', [])
.factory('myservice', MyService);
MyService.$inject = ['$http'];
function MyService($http) {
var vm = this;
var service = {};
service.getData = function() {
return $http.get('omdb/mydata.json').then(function(response) {
return response.data;
});
};
return service;
};
として:私は私のサービスコールについて、次のコードを持っている
基本的にdescribe('myservice', function() {
var mockservicedata = [{
"name": "value1",
"id": "1"
}, {
"name": "value2",
"id": "2"
}, {
"name": "value3",
"id": "3"
}];
var myservice = {};
beforeEach(module('omdb'));
beforeEach(inject(function(_myservice_) {
myservice = _myservice_;
}));
it('should return search myservice data', function() {
expect(myservice.getData()).toEqual(mockservicedata);
});
});
次のようなエラーが返されます:
Expected d({ $$state: Object({ status: 0 }) }) to equal [ Object({ name: 'value1', id: '1' }), Object({ name: 'value2', id: '2' }), Object({ name: 'value3', id: '3' }) ].
[email protected]://localhost:59239/movie-app/lib/jasmine-2.3.4/jasmine.js:1482:17
[email protected]://localhost:59239/movie-app/lib/jasmine-2.3.4/jasmine.js:1452:14
Env/[email protected]://localhost:59239/movie-app/lib/jasmine-2.3.4/jasmine.js:583:18
[email protected]://localhost:59239/movie-app/lib/jasmine-2.3.4/jasmine.js:324:29 [email protected]://localhost:59239/movie-app/lib/jasmine-2.3.4/jasmine.js:533:16
Expectation.prototype.wrapCompare/<@http://localhost:59239/movie-app/lib/jasmine-2.3.4/jasmine.js:1406:7
@http://localhost:59239/movie-app/spec/omdb/myservice.spec.js:14:9
[email protected]://localhost:59239/movie-app/lib/jasmine-2.3.4/jasmine.js:1789:9
[email protected]://localhost:59239/movie-app/lib/jasmine-2.3.4/jasmine.js:1777:9 [email protected]://localhost:59239/movie-app/lib/jasmine-2.3.4/jasmine.js:1762:5
Env/[email protected]://localhost:59239/movie-app/lib/jasmine-2.3.4/jasmine.js:627:7
[email protected]://localhost:59239/movie-app/lib/jasmine-2.3.4/jasmine.js:353:5 executeNode/<[email protected]://localhost:59239/movie-app/lib/jasmine-2.3.4/jasmine.js:2360:32 [email protected]://localhost:59239/movie-app/lib/jasmine-2.3.4/jasmine.js:1819:9
[email protected]://localhost:59239/movie-app/lib/jasmine-2.3.4/jasmine.js:1774:9
[email protected]://localhost:59239/movie-app/lib/jasmine-2.3.4/jasmine.js:1762:5
Env/[email protected]://localhost:59239/movie-app/lib/jasmine-2.3.4/jasmine.js:627:7
executeNode/<[email protected]://localhost:59239/movie-app/lib/jasmine-2.3.4/jasmine.js:2345:13 [email protected]://localhost:59239/movie-app/lib/jasmine-2.3.4/jasmine.js:1819:9
[email protected]://localhost:59239/movie-app/lib/jasmine-2.3.4/jasmine.js:1774:9
[email protected]://localhost:59239/movie-app/lib/jasmine-2.3.4/jasmine.js:1762:5
Env/[email protected]://localhost:59239/movie-app/lib/jasmine-2.3.4/jasmine.js:627:7
TreeProcessor/[email protected]://localhost:59239/movie-app/lib/jasmine-2.3.4/jasmine.js:2209:7
Env/[email protected]://localhost:59239/movie-app/lib/jasmine-2.3.4/jasmine.js:678:7
[email protected]://localhost:59239/movie-app/lib/jasmine-2.3.4/boot.js:110:5
なぜデータがテストに返されないのかわかりません。助けてください
私はそれを実行してみました。 http:// localhost:59239/movie-app/spec/omdb/myservice.spec.js(行14)に定義されていません。 私の仕様に追加するにはどうすればいいですか? 。テストを実行するために別のファイルを含める必要があります – manu
申し訳ありませんが、応答から値を取得する方法についての部分を追加するのを忘れていました。助けてくれてありがとう – manu