Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jasmine角度指令测试:实际值不是函数_Javascript_Angularjs_Unit Testing_Jasmine - Fatal编程技术网

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();
});