次の問題が発生しました。インタラクティブな Swing アプリケーションがあります。基本的に、キャンバス上に一連のグラフィカル オブジェクトを作成します。パレットから作成したい種類 (楕円、円など) を選択し、キャンバスをクリックします。すべてが期待どおりに機能します。ここで、Abbot/Costello テスト フレームワークを使用してテストを記録したいと考えています。とてもシンプルです。Costello アプリを起動し、新しいスクリプトを作成して、イベントの記録を開始します。このシーケンスを記録したいとしましょう。パレットをクリックして、グラフィックをキャンバスにドロップします。テスト アプリがクリックを記録することを期待するのは自然なことです。canvas コンポーネントはそれを処理する機会があり、新しいグラフィックを追加しました。さまざまな理由から、変更後ではなく、変更前にアプリの状態をキャプチャする必要があります。私のアプリはクリックイベントで最初のクラックを取得し、新しいグラフィックが作成され、その後、テストアプリが記録用のイベントを受信することが判明しました。この時点では手遅れです。状態は取り返しのつかないほど変更されており、基本的には、以前の状態ではなく、将来の状態を記録しています。
これは、リスナーが異なる順序で発砲した結果であることを理解しています。また、Swing がリスナーの起動順序を保証しないことも理解しています。可能性の限界に達しましたか、それとも解決策はありますか?
質問する
31 次