ためunittestのを作成し、私はgetModules AngularJs単体テストジャスミン+ KAMRA +角度モックは、これは私のdashboardServiceあるgetModules機能
のためのユニットテストを作成したいです========================================== ================(function (angular) {
'use strict';
var __Name = "dashboardService";
var __Path = "components/dashboard";
angular
.module(window.__env.appName,[])
.factory(__Name, serviceFunc);
serviceFunc.$inject = ['$cookies','$http'];
function serviceFunc($cookies,$http) {
return {
getmodules: function (cb) {
$http({
method: 'GET',
url:'/home/modulesInfo'
}).then(function successCallback(response) {
cb(true, response);
}, function errorCallback(response) {
cb(false, response)
});
}
}
}
})(window.angular);
=========================== =============================================
以下は私の仕様ですファイル(dashboardService.spec.js)
'use strict';
describe('getmodules', function() {
beforeEach(function() { module('ngMockE2E'); });
var service, httpBackend, defaultAlertFactory;
beforeEach(function() {
debugger;
module('myApp');
module(function ($provide) {
var dashboardService = {
getMegetmodules: function() {
// mocked method
return ['david', 'James', 'Sam'];
}
};
$provide.service('defaultAlertFactoryA', dashboardService);
});
angular.mock.inject(function ($injector) {
service = $injector.get('defaultAlertFactoryA');
httpBackend = $injector.get('$httpBackend');
});
});
//describe('getmodules', function() {
it("should return a list of getmodules", inject(function() {
debugger;
httpBackend.expectGET('/Home/modulesInfo').respond(['david', 'James', 'Sam']);
service.getmodules(function (result) {
expect(result).toEqual(["david", "James", "Sam"]);
});
httpBackend.flush();
}))
//})
});
ありがとうございます!
module(function ($provide) {
var dashboardService = {
getModules: function() {
// mocked method
return ['david', 'James', 'Sam'];
}
};
$provide.service('defaultAlertFactoryA', dashboardService);
});
そして、あなたの中:それはあなたがタイプミスを持っているようだ
エラーメッセージは::::::::: getmodulesはgetmodulesのリストを返します。 エラー:[ng:areq]引数'fn'は関数ではありません。オブジェクト http://errors.angularjs.org/1.6.1/ng/areq?p0=fn&p1=not%20a%20function%2C%20got%20Object エラー:[ng: areq]引数 'fn'が関数ではありません。オブジェクト – user1308116