我正在尝试使用QUnit设置ember-testing来测试我的Ember.js应用程序,这些博客帖子如下: Getting started with integration testing ember.js using ember-testing and qunit-rails
我的问题是,每当我尝试访问带有ember-testings的路径访问帮助程序时,visit(<route>).then
承诺都不会被调用,但会呈现正确的视图。
这是我目前的Ember.js设置:(我也尝试过测试版)
编辑1:
QUnit仅显示测试正在运行,没有失败或成功消息。
测试
module("Ember.js Library", {
setup: function() {
Ember.run(App, App.advanceReadiness);
},
teardown: function() {
App.reset();
}
});
test("Check HTML is returned", function() {
expect(2);
visit("/").then(function() {
ok(false, "Show me an error!");
});
});
测试设置(test_helper.js):
document.write('<div id="ember-testing-container"><div id="ember-testing"></div></div>');
document.write('<style>#ember-testing-container { position: absolute; background: white; bottom: 0; right: 0; width: 640px; height: 384px; overflow: auto; z-index: 9999; border: 1px solid #ccc; } #ember-testing { zoom: 50%; }</style>');
App.rootElement = '#ember-testing';
App.setupForTesting();
App.injectTestHelpers();
编辑2:
QUnit似乎工作正常。如果我使用以下测试,那么QUnit测试运行器会显示正确的故障。但如果我在上面的承诺中包含断言,那么QUnit会将测试显示为正在运行,但测试似乎不会停止。
test("Check HTML is returned", function() {
expect(2);
ok(false, "Show me an error!");
});
答案 0 :(得分:2)
问题出在Ember-Simple-Auth插件中,我使用的版本中有bug。我升级了,现在一切都按预期工作了。
@kingpin:感谢您的最小工作示例,在将其与我的代码进行比较后,我意识到,其他东西必须是挂断的原因,所以我找到了上面提到的插件。
答案 1 :(得分:1)
你错过了qunit div,将这个人与你的其他文件一起添加。写作
document.write('<div id="qunit"></div>');