でサービスを呼び出すカルマテストコントローラ私のコントローラ関数getDataとファクトリ関数でテストを実行する最善の方法を教えてもらえますか?私は非常に混乱しており、どこから始めるべきか分かりません。以下のコードのテストをどのように記述しますか?http://
myApp.controller('myController', ['$scope', 'myFactory', function ($scope, myFactory) {
$scope.getData = function(id) {
var promise = myFactory.GetData('/dta/GetData?Id=' + id);
promise
.then(function (success) {
$scope.result = success;
}, function (error) {
$scope.error = true;
});
}
});
myApp.factory('myFactory', ['$http', function ($http) {
return {
GetData: function (url) {
return $http.get(url)
.then(function (response) {
return response.data;
}, function (error) {
return error;
});
}
}
}]);
はあなたがテストするために何をしたいかのラッパー、お使いのコントローラの 'getData'方法やあなたよりもあなた
GetData
工場がより便利にするために、さらに少し行くと思います工場の 'GetData'メソッド? – Phil...前者の場合、 'myFactory'の[模擬(スパイ)](http://jasmine.github.io/2.0/introduction.html#section-Spies:_
createSpyObj
)を作成します。後者については、['$ httpBackend'](https://docs.angularjs.org/api/ngMock/service/$httpBackend)を使用してください。 – Phil上記のすべてのコードをテストしたいと思います。私は経験豊富なテスターが何をするのか分かりません。 – user1024941