試圖在灰燼運行驗收測試:灰燼驗收測試 - 異步副作用錯誤
test('successful login', (assert) => {
Ember.run(() => {
visit('/signin');
fillIn('#email', '[email protected]');
fillIn('#password', 'password');
click(':submit');
andThen(function() {
assert.equal(currentURL(), '/');
});
});
});
偶爾(貌似隨機)產生了錯誤:
「環球錯誤:錯誤:斷言失敗:您已經開啓測試模式,禁用運行循環的自動運行您需要包裝在一個運行的異步副作用的代碼......」
我能得到一個工作版本:
test('successful login', (assert) => {
const done = assert.async();
Ember.run(() => {
visit('/signin').then(() => {
fillIn('#email', '[email protected]').then(() => {
fillIn('#password', 'keen').then(() => {
click(':submit').then(() => {
assert.equal(currentURL(), '/');
done();
});
});
});
});
});
});
但是,如果我包括第二測試利用相同的路由的(對於一個不成功的登錄),它們中的一個幾乎總是與上面列出的錯誤結束。
我想知道什麼我不理解關於運行循環,Ember.run,以及如何使用異步行爲來測試。任何幫助或指向一個良好的資源將不勝感激!
你爲什麼要在包裝'Ember.run'一切嗎?這不是必需的,可能是你問題的原因。 – steveax