2

私は最近、既存のスタンドアロン Java GUI アプリケーションの単体テストを作成する割り当てを受けました。

ここまでで、マウスとキーボードの入力 (および単一イベント間の時間) を記録してマクロを作成し、これらのマクロを実行できるアプリケーションを作成しました。これは、アプリケーションの重大なエラーをチェックするために機能しますが、現在、基礎となる GUI のデータをチェックする可能性はありません。JUnit(assertequalsなど)経由でデータを確認できればとてもいいです。

どうすればこれを達成できますか? これは反省のケースですか?

4

2 に答える 2

2

フレームワークの作成が課題の一部でない限り、車輪の再発明を避けることをお勧めします。

Swing UI をテストするためのさまざまなフレームワークがあり、そのほとんどすべてが junit をサポートしています。たとえば、 fest-swingを見てください。これにより、Junit から UI コンポーネントをテストできます。また、下線付きの UI のプロパティをアサートすることもできます (ボタンがクリックされた後、特定のテーブルに 5 行が必要であることをアサートしたり、特定のウィジェットが特定の状態にある必要があることなどをアサートしたりします)。

これを、自分で実装するモック「バックエンド」と組み合わせるか、モックライブラリを使用してサーバー/ビジネスロジックをシミュレートするのが最善です-それについては、mockitoをご覧ください

于 2013-07-05T06:53:02.283 に答える
0

私はプログラムの設計に懐疑的です。プレゼンテーション層には、ビジネス ロジックがあるように思えます。これは悪いです。

そうならないように、コードをリファクタリングすることをお勧めします。各 GUI アクションは、ロジック層への呼び出しに対応する必要があります。プレゼンテーションが複雑でない限り、プレゼンテーション層ではなく、ロジック層に単体テストを含める必要があります。

于 2013-07-05T06:47:04.517 に答える