【问题标题】:Karma tests error "unable to init ocLazyLoad"Karma 测试错误“无法初始化 ocLazyLoad”
【发布时间】:2016-03-30 04:06:32
【问题描述】:

从快速入门sb-admin-angular 开始,我正在尝试运行测试,但收到错误unable to init ocLazyLoad。 (这是一台 Windows7 机器。)

我用来运行测试的命令是:

$ grunt test --force

我从this thread 了解到,我必须确保将 ocLazyLoad 脚本的路径添加到karma.conf.js

files: [
  'bower_components/angular/angular.js',
  'bower_components/angular-mocks/angular-mocks.js',
  ...
  'bower_components/oclazyload/dist/ocLazyLoad.min.js',
  'app/scripts/**/*.js',
  'test/mock/**/*.js',
  'test/spec/**/*.js'
],

我也尝试过使用 Bower 重新安装 ocLacyLoad,如上述线程中所建议的那样。给了我一个版本选择并选择了第一个选项:

Unable to find a suitable version for oclazyload, please choose one:
    1) oclazyload#~0.5.2 which resolved to 0.5.2 and is required by sb-admin
    2) oclazyload#^1.0.9 which resolved to 1.0.9

请问我在这里遗漏或损坏了哪一步?

【问题讨论】:

    标签: javascript angularjs unit-testing karma-runner oclazyload


    【解决方案1】:

    我会将 bower.json 文件中的 oclazyload 更新到 0.6.0 或更高版本。部分0.5.x版本引入了这个bug,0.6.0版本开始解决。

    示例的 bower.json 值的当前值为 0.5.2,您也使用了。

    参考资料:

    [1] https://github.com/ocombe/ocLazyLoad/issues/122GitHub 中的问题

    【讨论】:

    • 我尝试更新到 0.6.0。输出没有变化
    • 您是否使用bower uninstall 处理旧包?所以,正确的版本才真正投入使用。
    • 没有。我没有迈出那一步。我现在无法尝试。如果赏金在我重试之前就到期了,而且它确实有效,我会想办法让你获得积分。
    • 赏金到期后有一个奖励期,还有24小时反应。
    • 实际上,如果您可以回到选择阶段,请选择 !2 而不是 1 就可以了。您正面临版本冲突,!2 强制始终使用最新版本。看:stackoverflow.com/questions/25915729/… 并记住!在 2 之前,所以它会提高该分辨率!
    【解决方案2】:

    看起来这就是你正在经历的:

    这应该在ocLazyLoad 0.6.0 中修复。

    【讨论】:

    • 升级到 0.6.0。没有变化
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-19
    • 1970-01-01
    • 2022-08-03
    • 1970-01-01
    • 2015-05-30
    • 2020-05-28
    相关资源
    最近更新 更多