2016-04-29 1 views
0

私はSkatejsを使用してイベントライフサイクルを制御しています。しかし、非同期ロードのために、私はQUnitでテストを書くことに問題があります。私は上記のようにsetTimeoutを使用しますが、その後、私はExpected at least one assertion, but none were run - call expect(0) to accept zero assertions.Skatejs要素を使用したQUnitテスト

の問題を持って、私はこのケースで何をすべき

setTimeout(function() { 
    //assertions here 
}, 5000); 

答えて

0

使用しているバージョンによって、いくつかの点でテストに近づくことができます。

あなたのsetTimeout()メソッドを使用して変異観察者を待つ場合は、async testsを使用する必要があります。

skate()呼び出しの戻り値にアクセスできる場合は、それをコンストラクタとして使用して、要素を同期して作成できます。

スケートの古いバージョンでは、skate.init()が同期しています。新しいバージョンでは、skate.ready()が非同期です。

すぐにリリースされるベータ版を使用している場合は、document.createElement()を呼び出すと、v0およびv1カスタム要素のポリフィルが同期して要素をアップグレードします。

EDIT

私は以来、テストWebコンポーネント(と一般的にDOM)がはるかに簡単になりたhttps://github.com/treshugart/boreを使用してきました。また、polyfilledカスタム要素の非同期問題も解決します。もしあなたがそれを使い終わったら、私に教えてください。

関連する問題