1

SeleniumやPhantomJSなどの自動テストツールを使用して、ノックアウトベースのWebサイトをテストする方法を検討しています。テストの一般的なフローは次のとおりです。

  1. 何かをする(たとえば、ボタンをクリックする)
  2. 成功の副作用が発生したかどうかを確認します(例:スパンテキストが更新されました)
  3. 繰り返す

問題は#2です。ノックアウトの更新はすぐには発生しないため、次のようにします。

  1. 100msごとに成功条件を確認する
  2. 5秒が経過した場合、失敗します。

ノックアウトが常に完了するようにタイムアウトを十分に長くするか、誤った障害が発生する可能性があるため、これは残念です。

すべての依存関係が更新されたことを検出する方法はありますか?それとも私が逃した別のアプローチはありますか?

ありがとう、エリック

4

1 に答える 1

0

独自のサブスクリプションを添付して、オブザーバブルの変更を通知することができます。サブスクリプションが呼び出されると、成功条件を確認するためのトリガーになる可能性があります。

例えば:

myViewModel.personName.subscribe(function(newValue) {
    alert("The person's new name is " + newValue);
    //Person got a new name, now lets run the testing tool 
});

詳細はこちら

于 2013-02-01T07:27:39.703 に答える