Testing 余烬简单身份验证、验收测试和等待异步操作
在验收测试中挣扎。从基本登录测试开始:Testing 余烬简单身份验证、验收测试和等待异步操作,testing,asynchronous,ember.js,acceptance-testing,ember-simple-auth,Testing,Asynchronous,Ember.js,Acceptance Testing,Ember Simple Auth,在验收测试中挣扎。从基本登录测试开始: import { test } from 'qunit'; import moduleForAcceptance from 'static/tests/helpers/module-for-acceptance'; moduleForAcceptance('Acceptance | authentication'); test('login', function(assert) { visit('/'); click('.nav-bar__lo
import { test } from 'qunit';
import moduleForAcceptance from 'static/tests/helpers/module-for-acceptance';
moduleForAcceptance('Acceptance | authentication');
test('login', function(assert) {
visit('/');
click('.nav-bar__login-link');
andThen(function() {
assert.notOk(find('.login-form__submit-button').attr('disabled'));
});
fillIn('.login-form__email-block input', "ruz@email.com");
fillIn('.login-form__password-block input', "qwe");
click('.login-form__submit-button');
andThen(function() {
console.log("ftw");
assert.equal(find('.nav-bar__profile-link').text(), "some");
});
});
问题是在身份验证完成之前调用了第二个回调。这是jqueryajax请求和之后的一些承诺。从我看到的情况来看,ember等待ajax查询完成,而不是等待承诺得到解决/拒绝。这项测试应该开箱即用吗?我必须写一封定制服务生信吗?听起来你的承诺可能不正确?但是不,您应该能够使用验收测试助手编写测试,而不必担心异步调用自行解决(或承诺解决)您可能想看看我不同意的问题,
然后
不等待通过new Ember.RSVP.Promise
创建的正常承诺,而是等待new Ember.Test.Promise
s。你退房了吗。我会提供一个简单的案例,如果你能通过正确的承诺来实现,我将不胜感激。相当清楚地表明,然后等待承诺,您的设置中有什么不起作用?我希望在晚上(UTC+03:00)到家时准备一个小游戏。你能看看下面的吗?有四条路线在模板方面彼此相同。区别在于单击按钮后触发操作时的承诺用法。不创建任何余烬承诺的简单ajax调用只需等待,然后等待。类似地,Ember.Test.Promise
按预期工作。然而;和没有等待和使用余烬.RSVP.Promise
和窗口.setTimeout
。请取消对RSVP Promise路由验收测试
和简单超时路由验收测试
文件中的代码的注释,使其失败然后
将不会等待它们并简单地完成;因此,他们将失败。