【发布时间】:2015-03-11 20:46:09
【问题描述】:
我正在尝试使用 Jasmine 2.2.0:CheckoutService.patch() 模拟一项服务,它会将一个承诺返回到我的CheckoutController:
describe('CheckoutController', function() {
var $scope, vm, checkoutServiceMock, def;
beforeEach(function(){
module('app');
checkoutServiceMock = jasmine.createSpyObj('CheckoutService', ['patch']);
inject(function($rootScope, $controller, $q){
def = $q.defer();
$scope = $rootScope.$new();
vm = $controller('CheckoutController', {
$scope: $scope,
CheckoutService: checkoutServiceMock
});
checkoutServiceMock.patch.andReturn(def.promise);
});
});
});
但我得到:TypeError: 'undefined' is not a function (evaluating 'checkoutServiceMock.patch.andReturn(def.promise)')
我错过了什么?
【问题讨论】:
-
可能这类似于stackoverflow.com/questions/21590005/…,即语法与您的茉莉花版本不匹配。
标签: javascript angularjs testing jasmine karma-jasmine