0

私は GWT と GXT を使用して多くの単体テストを行う Web アプリに取り組んでいます。本番モード以外でテストを実行すると、期待どおりに動作します。GWT テスト ケースをプロダクション モードで実行しようとすると (または複数のブラウザー用にコンパイルしようとすると)、次のエラーが表示されます。

com.google.gwt.junit.client.TimeoutException  
message="The browser did not contact the server within 60000ms. - 1 client(s) haven't responded back to JUnitShell since the start of the test. Actual time elapsed: 60.008 seconds. 
Try increasing this timeout using the '-testBeginTimeout minutes' option The default value of minutes is 1, i.e., the server waits 1 minute or 60 seconds. ">
com.google.gwt.junit.client.TimeoutException: The browser did not contact the server within 60000ms. - 1 client(s) haven't responded back to JUnitShell since the start of the test. 
Actual time elapsed: 60.008 seconds. Try increasing this timeout using the '-testBeginTimeout minutes' option The default value of minutes is 1, i.e., the server waits 1 minute or 60 seconds.   
at com.google.gwt.junit.JUnitShell.notDone(JUnitShell.java:1041)   
at com.google.gwt.junit.JUnitShell.runTestImpl(JUnitShell.java:1376)   
at com.google.gwt.junit.JUnitShell.runTestImpl(JUnitShell.java:1304)  
at com.google.gwt.junit.JUnitShell.runTest(JUnitShell.java:652)  
at com.google.gwt.junit.client.GWTTestCase.runTest(GWTTestCase.java:441) 
at com.google.gwt.junit.client.GWTTestCase.run(GWTTestCase.java:296)  

繰り返しますが、プロダクション モードの設定がなくても (そして 1 つのブラウザーのみでコンパイルするだけで)、GWT テストは正常に機能しますが、追加のパラメーターを使用してテストを実行すると (または複数のブラウザーでコンパイルする場合)、問題が頭をよぎります。

<sysproperty key="gwt.args" value="-prod -standardsMode -logLevel WARN" />  
<sysproperty key="java.awt.headless" value="true" />

テストを開始する前にタイムアウト (-testBeginTimeout) を増やそうとしましたが、同様の結果が得られました (唯一の違いは、失敗するまでの遅延が長いことです)。また、同じ結果でテストを実行しているときに、タイムアウトするまでの待機時間を長くしようとしました。

上記で示唆したように、この問題は、複数のブラウザー用にコンパイルした後に GWTTestCase テストを実行しようとしたときにも発生します。どちらの問題についても説明するのが少し途方に暮れており、その後の Google 検索では有用な情報が見つかりませんでした。

これは、GWT または私の ANT セットアップの構成の問題のようですが、これ以上絞り込むことはできません。他の誰かがこの問題に遭遇し、私に非常に必要なアドバイスがありますか?

シングル ブラウザ コンパイル: chrome
マルチ ブラウザ コンパイル: chrome,gecko1_8,ie8

ライブラリ:
GWT バージョン: 2.5.0rc1
GXT バージョン: 3.0.0b
Junit バージョン: 4.11 (4.10 も試しました)

4

1 に答える 1

0

これは、gwt.xml ファイルで「gxt.user.agent」プロパティを指定する際の問題であることが判明しました。代わりに GWT の「user.agent」プロパティを指定することで、GWTTestCase テストがブラウザーからの接続に失敗することなく、複数のブラウザー用にコンパイルしてテストを実行できるようになりました。

于 2013-01-16T15:01:12.777 に答える