我一直试图让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库来说不是问题,每当我尝试使用其他同样使用window
或document
的东西时(例如,使用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\//
});
如果有人知道解决方案,我将非常感激:)