2017-09-02 20 views
0

私はEmberアプリケーションの受入れテストではじめて開始します。Ember 2、受け入れテスト、websocket保留中のハングアップ、および完了待ちのための待ち時間

だから私はこれでログインから開始しました:

テスト/受け入れ/ログイン-test.js

import { test } from "qunit"; 
import moduleForAcceptance from "myapp/tests/helpers/module-for-acceptance"; 

moduleForAcceptance("Acceptance | login"); 

test("Should login", function(assert) { 
    visit("/login"); 
    fillIn("input[type=email]", "[email protected]"); 
    fillIn("input[type=password]", "userpass"); 
    click("button[type=submit]"); 

    andThen(() => { 
    assert.equal(currentURL(), "/"); 
    assert.equal(find("h1").text(), "Hello!"); 
    }); 
}); 

それandThen()を行かないので、click("button[type=submit]");でハングありません。

私はその理由を理解しています。私アプリ/テンプレート/ index.hbs

私はChromeを開いた場合、保留中のWebSocket呼び出しがある(コンポーネントに私の単一ページのアプリケーションで保留に常にあるのWebSocketに頼る通知を持っています.. )。

index.hbsからこのコンポーネントを削除すると、すべて正常に動作します。

ログイン後、保留状態であるservice('notifications')の保留中の状態を無視するように、andThen()ヘルパーに通知する必要がありますか?

どのようにすればいいですか?私にとって

答えて

1

ため、私は何かを取得するために数秒で私のサーバーを呼んでいた私が使用したものポーリング方式のこのに直面していました。テストモード

if(!Ember.testing){ 
    //polling 
} 

AndThen()で実行しているとき、私がやったことは基本的にそれが実行される前に解決するために、すべてのあなたの約束を待ち、コードを無効にしました。

+0

Ember.testではなく、Ember.testingでなければなりません。 – TBieniek

+0

編集されました。私を修正していただきありがとうござい – Sandeep

関連する問題