我有以下测试:
it("should load the directive without error", function () {
expect($compile(inputElement)($scope)).not.toThrow();
});
我的输入元素包含我的指令。我的指令在ngModel上有一个require,如果指令所在的元素有ngModel指令,测试的目的是让它编译而不会出错。所有这些都在生产中,但由于某些原因,我的测试失败了,我收到了消息:
Actual is not a Function in __pathToJasmine/jasmine.js (line 2207)
我也在使用Jasmine 2.0。
现在,我意识到实际的函数是$ compile,一旦用$ scope调用它不再是一个函数,但我如何测试我的指令是否成功编译?
答案 0 :(得分:3)
在做更多的修修补补之前,我轻率地问这个问题。我所做的是在一个匿名函数调用中包含expect的内容,如下所示:
it("should load the directive without error", function () {
expect(function() {
$compile(inputElement)($scope)
}).not.toThrow();
});