0

Mocha でいくつかの機能テストを作成し、項目を変更してから、変更が正しく反映されたかどうかを確認しました。現在、Polymer に要素を更新する時間を与えるためにウィンドウ タイムアウトを使用していますが、これはハックのように感じます。開発者ガイドには、いくつかの異なる監視フックの概要が示されていますが、どれを呼び出すべきかわかりません。

最も近いと思われるのは、非同期呼び出しを propertyChanged イベントにアタッチするという推奨事項です。しかし、多くのアイテムが propertyChanged を使用しています。非同期タスクを propertyChanged イベントにアタッチすると、元の propertyChanged にアタッチされた要素のメソッドが呼び出された 後に非同期タスクが確実に呼び出されますか?

指定されたソリューションが Polymer 1.0 (または .8/.9) と前方互換性があるかどうかについてのボーナス ポイント。

4

1 に答える 1

0

私は間違った場所を探していました。正しい場所は、Polymer のテストのハウツーの async 部分です。使用する適切な関数はflush(callback)、「保留中のイベントと監視のフラッシュをトリガーし、処理後に通知コールバックがディスパッチされるようにする」です。

彼らのドキュメンテーションはテストを一緒にグロブします。私は各テストスイートと各テストの個々の要素を好みます。これは、機能テストをデバッグするときに特に役立ちます。これは、変更が保持され、ブレーク ポイントの設定が簡単になるためです。

  before(function(done){
    nonMatchingEl.search = "";
    flush(done);
  });

  test('updates the "pre" property', function() {
    assert.equal(nonMatchingEl.pre, 'prematch-hello-postmatchhello');
  });

  //test two ...
于 2015-04-29T04:36:48.610 に答える