【发布时间】:2018-11-11 23:47:41
【问题描述】:
我正在努力调试 Ember 3.0 应用程序上的失败测试。我有一个使用 ember-simple-auth 的登录表单。身份验证操作如下所示:
let { identification, password } = this.getProperties('identification', 'password');
this.get('session').authenticate('authenticator:devise', identification, password)
.catch((reason) => {
this.set('loginError', reason.errors || reason);
});
我的测试只是填写表单并单击一个按钮来触发此操作,然后检查用户是否已登录:
invalidateSession();
await visit('/');
fillIn('#identification', 'test@email.com');
fillIn('#password', 'secret');
await click('.login-btn');
let sesh = currentSession();
let isAuthed = get(sesh, 'isAuthenticated');
assert.equal(
isAuthed,
true,
'after a user submits good creds to login form, they are logged in'
);
使用 Mirage 后端,每次都能正常工作。然而,使用返回相同响应的 Rails API,这个测试大约有一半的时间会失败。通过或失败似乎是随机的。
我不确定问题出在哪里。 Rails 应用程序在本地端口 3000 上运行,因此不是网络问题。我想知道测试是否超时,因为 API 的响应时间比 Mirage 长——尽管这似乎不太可能,因为测试在一秒钟内运行。有没有人遇到过这样的问题?
谢谢
【问题讨论】:
标签: ember.js ember-simple-auth