【问题标题】:Testing Jasmine with many multiple jQuery versions with one test用一个测试用多个 jQuery 版本测试 Jasmine
【发布时间】:2013-01-26 19:03:11
【问题描述】:

我在 PhpStorm 上使用 Jasmine 和 JSTestDriver,我正在尝试使用一个 js 测试文件来对多个版本的 jquery(即 1.7.x、1.8.x、1.9.0 和 2.0)进行单元测试乙)。做这个的最好方式是什么?我在这里阅读了一些没有实际答案的问题。

  • 将describe放在循环中并手动加载/删除每个jQuery?
  • 我正在使用 jasmine-jquery,所以我可以加载夹具,但我不知道如何用它加载 js 文件,因为它似乎只是 HTML(和 json / css)
  • 逐步加载每个脚本,调用jQuery.noConflict可以让它工作吗?
  • 每次 jQuery 版本更改时我是否必须重新加载我的 jQuery 插件?

【问题讨论】:

    标签: jquery jquery-plugins version jasmine jasmine-jquery


    【解决方案1】:

    经过几个小时的尝试,我已经做到了。其实很简单,我只是想重新发明轮子,使用LAB.js 我可以很容易地做到这一点,这在你的test.js 中(结果日志也很不错):

    function run() {
      describe("My code on jQuery " + ($().jquery), function () {
        // do your thing
      });
    }
    
    var
      $versions = ['1.7.1','1.7.2','1.8.0','1.8.1','1.8.2','1.8.3','1.9.0','2.0.0b1'];
    
    for (var i = 0; i < $versions.length; i++) {
      $LAB
        .setOptions({AlwaysPreserveOrder:true, AllowDuplicates:true, CacheBust:true, BasePath:'/test/'})
        .script('tests/lib/jquery-' + ($versions[i]) + '.js')
        .script('tests/lib/jasmine-jquery.js')
        /* .script('any-other-lib.js') */
        .wait(run);
    }
    

    $LAB 中加载的所有内容都是同步按顺序加载的,因此您始终可以确保脚本的加载顺序。非常简单并且通过持续集成,它可以在 IDE 的后台运行而没有任何麻烦(除非有时运行器不会清理并会抛出异常说 $ is undefined

    【讨论】:

      猜你喜欢
      • 2012-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-17
      • 2016-05-27
      • 2017-05-13
      • 1970-01-01
      • 2015-02-27
      相关资源
      最近更新 更多