Lia*_*nat 2 jquery highcharts angularjs karma-runner protractor
在Angular Project上运行Karma +量角器时遇到错误.我尝试了几种不同的方法来选择元素,它们都会导致错误.
我正在寻找一种方法使其工作/在运行测试时忽略此功能.
这是测试失败的行:
var chart = angular.element(document.querySelector("#chart2")).highcharts();
Run Code Online (Sandbox Code Playgroud)
这一行导致:
TypeError:'undefined'不是函数(计算'angular.element(document.querySelector("#chart2")).highcharts()')
我尝试了几种不同的方法:
我将行更改为:
var chart = $("#chart2").highcharts();
Run Code Online (Sandbox Code Playgroud)
并得到以下错误:
ReferenceError:找不到变量:$
我也尝试将此行更改为:
var chart = angular.element("#chart2").highcharts();
Run Code Online (Sandbox Code Playgroud)
然后我得到了以下错误:
错误:[jqLite:nosel] jqLite不支持通过选择器查找元素!见:http : //docs.angularjs.org/api/angular.element http://errors.angularjs.org/1.2.4/jqLite/nosel
重要的是所有3个选项都是有角度的.
我正在寻找一种方法使其工作/在运行测试时忽略此功能.
任何可能有用的想法?
如果你有jQuery可用,这些选项可能会有效.看起来您的测试使用的是角度内置的jqLite,其中这些功能不可用.
当应用程序被引导时,Angular可以使用jQuery,如果它存在于您的应用程序中.如果你的脚本路径中没有jQuery,Angular会回退到我们称之为jQLite的jQuery子集的实现.- https://docs.angularjs.org/api/ng/function/angular.element
也许尝试将jQuery添加到您的业力配置?在角度之前加载jQuery应该工作.
例如在你的业力配置中:
files: [
'libs/jquery.js',
'libs/angular.js'
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4492 次 |
| 最近记录: |