依赖于窗口的外部库运行intern-runner失败。 ReferenceError:未定义窗口

时间:2015-07-10 14:45:55

标签: javascript intern

我一直试图让Intern与另一个名为Pact的图书馆同时工作,进行合同测试。我的虚拟测试看起来像这样:

define([
  'intern!object',
  'intern/chai!expect',
  'bower_components/pact-consumer-js-dsl/dist/pact-consumer-js-dsl.js'
], function(registerSuite, expect) {
  registerSuite({
    name: 'Test',

    'login form': function() {
      var _this = this;

      return this.remote
        .get(loginUrl)
        ...
        .end();
    }
  });
});

问题在于,如果我尝试运行包含Pact库的测试(第4行),实习生会显示错误,因为未定义window

Warning: ReferenceError: window is not defined

如果我删除了库的包含,测试运行正确,打开浏览器,它会完成它应该做的所有事情。我已经将此作为functionalSuite运行,我使用的是intern-runner而不是客户端。我尝试使用Chrome或PhantomJS没有运气。

这对Pact库来说不是问题,每当我尝试使用其他同样使用windowdocument的东西时(例如,使用jQuery,它可以&#) 39;找到document)。

我对Intern的配置如下所示:

define({

  proxyPort: 9999,

  proxyUrl: 'http://localhost:9999/',

  capabilities: {
    'selenium-version': '2.45.0'
  },

  environments: [
    { browserName: 'chrome' }
  ],

  tunnel: 'NullTunnel',

  maxConcurrency: 3,

  functionalSuites: ['test/intern/integration/login'],

  excludeInstrumentation: /^tests|bower_components|node_modules\//

});

如果有人知道解决方案,我将非常感激:)

0 个答案:

没有答案