我有一个在一个端口上运行的门户应用程序 - http://localhost:10039
。我正在尝试对单个 Ember.js 应用程序进行单元测试,这些应用程序通过 portlet 加载到 Portal 应用程序中。
我想做的是让这些 QUnit 测试针对完整的应用程序运行,该应用程序在我提到的另一个端口上运行。然而,Karma 似乎不喜欢在与运行应用程序的端口不同的端口上运行测试套件。
例如:
test('Page loads in browser', function() {
visit('/login').then(function() {
ok(exists('#login-form'), 'Page loaded successfully');
});
});
...在端口 9876 上成功启动 Karma,但结果...
Page loaded successfully@ 42 ms
Expected: true
Result: false
Diff: true false
Source:
at http://localhost:9876/absolute/Users/me/Sites/app/node_modules/qunitjs/qunit/qunit.js:1933:13
at http://localhost:9876/base/tests/unit-tests.js:9:8
at isolate (http://localhost:9876/base/bower_components/ember/ember.js:36720:15)
at http://localhost:9876/base/bower_components/ember/ember.js:36703:16
at tryCatch (http://localhost:9876/base/bower_components/ember/ember.js:45817:16)
at invokeCallback (http://localhost:9876/base/bower_components/ember/ember.js:45829:17)
是否可以在 上运行我的测试套件http://localhost:9876
,并让它针对另一个网站/端口运行测试http://localhost:10039
?
我能得出的最接近答案的是Karma proxies,尽管代理似乎没有效果。Karma 仍在针对与其自身端口相关的链接进行测试9876
。
我想补充一点,如果只能在其他地方完成——Jasmine、Mocha 等,我对其他测试框架持开放态度。
谢谢!