GWTウィジェットを個別にテストする場合、多くのオプションはありません。GWTTestCaseを使用してウィジェットをインスタンス化し、そのAPIを介してテストできます。これはGoogleがGWTウィジェット自体に対して行うことです。RadioButtonTestのソース
ただし、イベント発生メカニズムはGWTTestCasesでは機能しません。つまり、プログラムでボタンをクリックして、リスナーでonClick()コールバックメソッドが呼び出されることを期待することはできません。また、基盤となるDOMを取得することは不可能ではないにしても難しいため、低レベルのHTML送信コードをテストするための最良のツールではない可能性があります。
正しい手順をすべて実行しているようです。Robの記事は、Model-View-Presenter(MVP)デザインパターンを使用してテスト可能なコードを作成する方法についての優れた説明を提供します。ビューレイヤーから除外するロジックが多いほど、優れています。それが不可能な場合は、Seleniumなどのツールを使用して、動的UI動作の焦点を絞ったテストを作成します。
私は同様の戦略に従いました-ウィジェットに最小限のコードを使用したMVP。いくつかのケースでは、Gridクラスをラップするコードを記述したので、GWTTestCaseでコンポーネントをインスタンス化し、グリッドを渡し、コンポーネントでいくつかのメソッドを呼び出し、グリッドの状態を確認することができました。Test-FirstGWTに関するBetterSoftwareの記事を書きました。これは、私のブログで読むことができます。
UI以外のGWTクラス(URLエンコードやディクショナリなど)を使用するコードをテストする場合は、GWTTestCaseを使用するか、コードが単純すぎて解読できないまで同様のラッピング戦略に従う必要があります。次に、Seleniumのようなツール、またはライブラリを正しく使用していることだけをテストするいくつかのターゲットGWTTestCaseとの統合テストを使用します。これは、JBRainsbergerが「フレームワークをテストしないでください」と述べています。