【问题标题】:Include jQuery in intern test在实习生测试中包含 jQuery
【发布时间】:2013-05-02 22:53:19
【问题描述】:

如何测试自定义 JavaScript 应用程序(包括作为依赖项的 jQuery)?我已经尝试将 jQuery 作为 Node 包但没有成功...

我是否需要在测试套件依赖项中以某种方式定义它?我试过这个:

define([
    'intern!bdd',
    'intern/chai!expect',
    'node-jquery'
], ...

【问题讨论】:

    标签: javascript jquery node.js intern


    【解决方案1】:

    你在正确的轨道上。如果您尝试加载和测试任意 JavaScript,您只需这样做:

    define([
      'intern!bdd',
      'intern/chai!expect',
      'libs/jquery.js',
      'app/foo.js',
      'app/bar.js'
    ], function (bdd, expect) {
      bdd.describe('my test', function () {
        bdd.it('should find foos on the page', function () {
          expect(jQuery('.foo')).to.have.length.of.at.least(2);
        });
      });
    
      // access other global variables here
    });
    

    【讨论】:

    • 好吧,我收到了window is not defined at .../js/jquery.js:2:93372 的消息。但是,我通过在浏览器中运行测试解决了这个问题。
    • 是否可以在命令行运行实习生测试(对于浏览器JS应用,使用jQuery + Ember.js)?
    • 可能不会。只要不需要 DOM,您就可以从命令行运行任何测试。如果 jQuery、Ember 或 RandomAwesomeFramework 需要浏览器环境,则加载它们的测试将无法从命令行运行。查看wiki page 了解有关运行测试的更多信息。
    • 这是一个旧线程,但是 Intern 已经添加了对带有 Selenium 的 PhantomJS 的支持,这意味着您确实可以从命令行测试需要 DOM 的 Javascript。 Check it out
    • 我无法加载 jquery - 因为我正在从命令行运行测试给我一个错误 var path = (i >= 0) ?参数[i] : process.cwd(); ^ TypeError: process.cwd 不是函数
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    • 2016-02-11
    • 2015-12-30
    • 1970-01-01
    • 1970-01-01
    • 2013-04-27
    相关资源
    最近更新 更多