Angularjs 角度-茉莉花-因果报应-高图表错误#16
在Angularjs 角度-茉莉花-因果报应-高图表错误#16,angularjs,highcharts,jasmine,karma-runner,Angularjs,Highcharts,Jasmine,Karma Runner,在karma.conf.js文件中,我包括: 'bower\u components/highcharts ng/dist/highcharts ng.js' 在我的单元测试中,我正在测试一系列Highchart指令 当我使用业力运行测试时,我得到: PhantomJS 1.9.8 (Mac OS X 0.0.0) ERROR Highcharts error #16: www.highcharts.com/errors/16 at undefined PhantomJS 1.9.8 (
karma.conf.js
文件中,我包括:
'bower\u components/highcharts ng/dist/highcharts ng.js'
在我的单元测试中,我正在测试一系列Highchart指令
当我使用业力运行测试时,我得到:
PhantomJS 1.9.8 (Mac OS X 0.0.0) ERROR
Highcharts error #16: www.highcharts.com/errors/16
at undefined
PhantomJS 1.9.8 (Mac OS X 0.0.0) ERROR
Highcharts error #16: www.highcharts.com/errors/16
at undefined
PhantomJS 1.9.8 (Mac OS X 0.0.0): Executed 84 of 85 ERROR (1.136 secs / 1.628 secs)
Warning: Task "karma:unit" failed. Use --force to continue.
Aborted due to warnings.
该错误意味着window.Highcharts多次初始化,Highcharts引发异常
如何在Karma中加载文件一次而不是每次测试
以下是Karma配置中文件的完整列表:
档案:[
'bower_components/jquery/dist/jquery.js',
'bower_components/angular/angular.js',
'bower_components/angular animate/angular animate.js',
'bower_components/angular aria/angular aria.js',
'bower_components/angular cookies/angular cookies.js',
'bower_components/angular messages/angular messages.js',
'bower_components/angular resource/angular resource.js',
'bower_components/angular sanitize/angular sanitize.js',
'bower_components/angular touch/angular touch.js',
'bower_components/angular ui router/release/angular ui router.js',
'bower_components/elasticsearch/elasticsearch.angular.js',
'bower_components/highcharts ng/dist/highcharts ng.js',
'bower_components/angular-md5/angular-md5.js',
“bower_components/lodash/lodash.js”,
'bower_components/restanglar/dist/restanglar.js',
'bower_components/moment/moment.js',
'bower_components/angular material/angular material.js',
'bower_components/angular translate/angular translate.js',
'bower_components/angular Load bar/build/Load bar.js',
“bower_组件/角材料数据表/dist/md数据表.min.js”,
“bower_components/pdfjs dist/build/pdf.js”,
'bower_components/pdfjs dist/build/pdf.worker.js',
“bower_components/ngstorage/ngstorage.js”,
“bower_components/pdf viewer/viewer.js”,
'bower_components/javascript检测元素大小/检测元素大小调整.js',
'bower_components/angular gridster/src/angular gridster.js',
'bower_components/angular mocks/angular mocks.js',
“app/scripts/***.js”,
“bower_components/pdfjs dist/build/pdf.js”,
“bower_components/pdfjs dist/build/pdf.worker.js”,
“bower_components/ngstorage/ngstorage.js”,
“bower_components/pdf viewer/viewer.js”,
“app/views/***.html”,
“test/mock/***.js”,
“test/spec/controllers/*.js”,
“test/spec/filters/*.js”,
“test/spec/services/*.js”,
“test/spec/directives/***.js”,
“test/spec/app.js”,
],
我猜您没有在包含的文件中两次列出它:files:['/src/'bower_components/highcharts ng/dist/highcharts ng.js','src/***.js']?(取决于目录的排列方式)您提到您加载了highcharts ng.js
,但这只是角度包装,而不是highcharts本身。最好只显示karma.conf.js
@Phil中的文件
数组,我想你弄错了,在我的index.html中对highcharts的唯一引用是
,因此我认为这就是为什么highcharts在Karma和Jasmine中重新使用相同的DOM,然后在每次测试运行时重新加载文件的原因?Nevermind@Phil有一个我错过的highcharts延迟加载。我想你没有在包含的文件中列出它两次:文件:['/src/'bower_components/highcharts ng/dist/highcharts ng.js','src/***.js']?(取决于目录的排列方式。)你提到你加载了highcharts ng.js
,但那只是角度包装,而不是highcharts本身。如果你只是从karma.conf.js
@Phil中显示文件
数组可能会更好。我想你错了,我的index.html中对highcharts的唯一引用是
,所以我认为这就是highcharts的原因Karma和Jasmine重新使用相同的DOM,然后在每次测试运行时重新加载文件?Nevermind@Phil有一个我错过的HighCharts的延迟加载。