Javascript Jasmine角度指令测试:实际值不是函数
我有以下测试:Javascript Jasmine角度指令测试:实际值不是函数,javascript,angularjs,unit-testing,jasmine,Javascript,Angularjs,Unit Testing,Jasmine,我有以下测试: it("should load the directive without error", function () { expect($compile(inputElement)($scope)).not.toThrow(); }); 我的输入元素包含我的指令。我的指令对ngModel有一个要求,测试的目的是,如果指令所在的元素具有ngModel指令,则它可以无误地编译。所有这些都在生产中起作用,但由于某种原因,我的测试失败了,我得到了以下信息: Actual is n
it("should load the directive without error", function () {
expect($compile(inputElement)($scope)).not.toThrow();
});
我的输入元素包含我的指令。我的指令对ngModel有一个要求,测试的目的是,如果指令所在的元素具有ngModel指令,则它可以无误地编译。所有这些都在生产中起作用,但由于某种原因,我的测试失败了,我得到了以下信息:
Actual is not a Function in __pathToJasmine/jasmine.js (line 2207)
我也在使用Jasmine 2.0
现在,我意识到实际的函数是$compile,一旦用$scope调用它,它就不再是一个函数了,但是我该如何测试我的指令是否编译成功?在做更多的修补之前,我冒昧地问了这个问题。我所做的是将expect的内容包装在一个匿名函数调用中,如下所示:
it("should load the directive without error", function () {
expect(function() {
$compile(inputElement)($scope)
}).not.toThrow();
});