【发布时间】:2016-08-30 02:53:48
【问题描述】:
我有一个使用 Karma 和 Mocha 测试的 Angular 项目单元。间歇性(大约每 9~10 次运行中的一次)测试在 Chrome 中失败并显示以下消息:
Chrome 43.0.2357 (Mac OS X 10.10.2) 错误
您的一些测试重新加载了整个页面!
这似乎只发生在 Chrome 上(也在 Firefox 和 PhantomJS 上测试)。该项目使用 mocha、chai 和 sinon 框架,以及 ng-html2js 预处理器将模板编译成 Angular 模块。
我正在我的 Karma 配置中加载所有 JS 和部分:
// list of files / patterns to load in the browser
files: [
'bower_components/angular/angular.js',
'bower_components/angular-mocks/angular-mocks.js',
'bower_components/angular-resource/angular-resource.js',
'bower_components/angular-route/angular-route.js',
'bower_components/jquery/dist/jquery.js',
'app.js',
'controllers/*.js',
'services/*.js',
'directives/*.js',
'partials/*.html'
],
该错误似乎没有归因于任何特定测试,因为我只使用返回资源的服务运行它,并且仍然间歇性地抛出错误。我已经看到其他类似的问题专门处理 ui-router 框架,但我没有使用它(只是使用 ngRoute 进行路由),而且我还加载了没有路由代码的测试(将它从 karma.conf 中取出。 js) 并且仍然遇到问题。
我运行了一个不使用 $location、$window 或任何其他会尝试重新加载页面但仍然遇到问题的服务的测试。
框架中是否有任何配置可能导致这些问题?任何帮助将不胜感激!
【问题讨论】:
标签: javascript angularjs karma-runner karma-mocha