gpt4 book ai didi

javascript - 类型错误 : 'undefined' is not a function (evaluating 'mockBackend. expectPost(

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:35:29 37 4
gpt4 key购买 nike

我正在尝试使用 Karma 和 jasmine 对 angularjs Controller 进行单元测试。

这是我的测试套件:

describe('Controllers', function(){
var $scope, ctrl;
beforeEach(module('curriculumModule'));
describe('CreateCurriculumCtrl', function(){
var mockBackend, location;
beforeEach(inject(function($rootScope, $controller, _$httpBackend_, $location){
mockBackend = _$httpBackend_;
location = $location;
$scope = $rootScope.$new();
ctrl = $controller('CreateCurriculumCtrl', {
$scope: $scope
});
}));

it('should save the curriculum', function(){
mockBackend.expectPost('bignibou/curriculum/new');
$scope.saveCurriculum();
mockBackend.flush();
expect(location.path()).toEqual("/");
});

});
});

这是 karma start 的输出:

PhantomJS 1.9.2 (Linux) Controllers CreateCurriculumCtrl should save the curriculum FAILED
TypeError: 'undefined' is not a function (evaluating 'mockBackend.expectPost('bignibou/curriculum/new')')
at /home/julien/Documents/projects/site-garde-enfants/bignibou/karma/test/spec/curriculum.test.js:16
PhantomJS 1.9.2 (Linux): Executed 2 of 2 (1 FAILED) (0.203 secs / 0.023 secs)

我不明白为什么会出现此错误,因为我已将 angular-mock.js 文件正确包含在我的 karma conf 中:

// list of files / patterns to load in the browser
files: [
'../src/main/webapp/js/libs/jquery-1.10.2.js',
'../src/main/webapp/js/libs/angular.js',
'../src/main/webapp/js/libs/bootstrap.js',
'../src/main/webapp/js/plugins/angularui.select2.js',
'test/vendor/angular-mocks.js',

'../src/main/webapp/js/custom/curriculum.js',
'test/spec/curriculum.test.js'
],

有人可以帮忙吗?

编辑:这是我的 Controller :

function CreateCurriculumCtrl($scope, $http, $location, select2Options){

$scope.formData={};

$scope.select2Options = select2Options;

$scope.saveCurriculum = function(){
$http.post('bignibou/curriculum/new', $scope.formData).success(function(data) {
if(data.status=="OK"){}
if(data.status=="KO"){}
$location.path("/");
});
};
}

最佳答案

改变第 16 行

来自

mockBackend.expectPost('bignibou/curriculum/new');

mockBackend.expect('POST','bignibou/curriculum/new').respond({});

以某种方式解决了问题...

编辑:expectPOST 也可以工作...只是一个打字错误:注意我使用的大小写...

关于javascript - 类型错误 : 'undefined' is not a function (evaluating 'mockBackend. expectPost(,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19588153/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com