twitter-bootstrap - Karma Runner > 在 angular 和 angular-mocks 引发异常之前加载 bootstrap.js

标签 twitter-bootstrap angularjs angularjs-directive karma-runner

我有一个 angularjs 应用程序,其中包含一些使用 jquery 和 Bootstrap 组件的指令。因此,为了测试指令,我在 karma.unit.conf.js 中定义了以下文件顺序:

files = [

 JASMINE,
 JASMINE_ADAPTER,

 'app/components/jquery/jquery.js',
 'app/scripts/vendor/bootstrap.js',

 'app/components/angular/angular.js',
 'app/components/angular-mocks/angular-mocks.js',
 'app/components/angular-ui/build/angular-ui.js',

 'app/scripts/app.js',

 'app/scripts/**/*.js',

 'test/spec/unit/**/*.js'

];

如果我先加载 angularjs 和 angular-mocks,然后加载 jquery 和 bootstrap,测试会运行并失败,因为 angular 使用自己的 jQLite。但是,如果我改变了我在这里写的顺序,那么这就是我得到的:

编辑:

我发现导致异常的不是 jQuery ......它是 bootstrap.js。如果我注释 bootstrap.js 行,测试就会运行(并且失败,正如预期的那样,因为从未加载过 Bootstrap 组件)。如果我如上所述加载 Bootstrap (或在测试之前的任何其他地方),那么我会得到这个:
PhantomJS 1.8 (Linux) Directive: tkModal should make hidden element visible FAILED[39m
    at /home/ir/work/campari/app/components/jquery/jquery.js:1763
    at /home/ir/work/campari/app/components/jquery/jquery.js:2833
    at /home/ir/work/campari/app/components/jquery/jquery.js:2850
    at /home/ir/work/campari/app/components/jquery/jquery.js:2850
    at /home/ir/work/campari/app/components/jquery/jquery.js:2850
     ...
     at /home/ir/work/campari/app/components/jquery/jquery.js:2850
    at /home/ir/work/campari/app/components/jquery/jquery.js:2850
    at /home/ir/work/campari/app/components/jquery/jquery.js:2850
    at /home/ir/work/campari/app/components/jquery/jquery.js:3656
    at /home/ir/work/campari/app/components/jquery/jquery.js:648
    at /home/ir/work/campari/app/components/jquery/jquery.js:270
    at /home/ir/work/campari/app/components/jquery/jquery.js:3657
    at /home/ir/work/campari/app/components/jquery/jquery.js:3664
    at /home/ir/work/campari/app/components/angular-mocks/angular-mocks.js:1589
    at /home/ir/work/campari/app/components/angular-mocks/angular-mocks.js:1627

at /home/ir/work/campari/app/components/jquery/jquery.js:2850在测试失败之前无休止地重复大约 15k 次(当 jQuery 尝试在 jquery.js:1763 处执行 internalData 函数时似乎正在发生)。

任何想法将不胜感激

编辑:已解决

找到了答案,这是 2.3.0 版本中的 Bootstrap 问题,更新到 2.3.1 解决了它。见 https://github.com/twitter/bootstrap/issues/6835

最佳答案

找到了答案,这是 2.3.0 版本中的 Bootstrap 问题,更新到 2.3.1 解决了它。见 https://github.com/twitter/bootstrap/issues/6835

关于twitter-bootstrap - Karma Runner > 在 angular 和 angular-mocks 引发异常之前加载 bootstrap.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16105393/

相关文章:

javascript - 在 nwjs (node-webkit) 中将数据从 nodejs 传递到 angular 的正确方法

javascript - 具有默认选项的 AngularJS 指令

javascript - 访问嵌套指令内的父范围变量

css - ASP.NET 设计 View - 移动控件

css - Bootstrap Pop-up Modal 未显示。相反,我得到黑屏

css - 使用按钮更改 CSS 模型

javascript - 如何在范围变量angularjs中保存文本框值

javascript - 如何将 jQuery 弹出事件附加到动态创建的 HTML 列表

twitter-bootstrap - 在 Bootstrap 中关闭模式后如何取消模式触发按钮的焦点

javascript - 无法使用 Angular.js 添加带有文件名的随机数