非同期テストを実行しようとしており、REST-API を持つサーバーにリクエストを送信する必要があります。したがって、私の問題は、テストがローカルマシンで実行されることですが、これは明らかに同じ生成元ポリシーに違反しており、GWTtestCase を実行しようとすると RuntimeError が発生します。
com.google.gwt.http.client.RequestPermissionException: The URL http://<url-to-my-rest-service> is invalid or violates the same-origin security restriction
at com.google.gwt.http.client.RequestBuilder.doSend(RequestBuilder.java:394)
at com.google.gwt.http.client.RequestBuilder.send(RequestBuilder.java:242)
...
これらのテストを手動で実行できることはわかっていますが、ブラウザー (クロム) の最新の更新により、GWT プラグインが削除されました。そのため、SuperDevMode でテストを起動する方法がわかりません。
質問:
- GWT JUnit テストの同一生成元ポリシーを無視する方法はありますか?
- テストに使用するブラウザを Chrome/Chromium に変更できますか?
- ブラウザで SuperDevMode を使用してテストを手動で実行するにはどうすればよいですか?
編集:
テストを手動で実行したい場合は、ターミナルに次のように書き込みます。
mvn gwt:test -Dgwt.args="-prod -userAgents safari -runStyle Manual:1"
Maven は、テストを実行するためにブラウザーに入力する必要がある端末に URL を出力します。
http://127.0.1.1:57818/<my-package>.JUnit/junit-standards.html?gwt.codesvr=127.0.1.1:40387
しかし、この URL をブラウザー (Chromium) に入力すると、GWT プラグインが現在インストールされていないことが通知されます。疑問符の後ろの部分を削除すると (localhost で SuperDevMode で GWT コードを実行する場合と同様に) ?gwt.codesvr=127.0.1.1:40387、ブラウザには空白のページのみが表示され、コードサーバーを次のように起動すると:
mvn process-classes gwt:run-codeserver
codeserver-bookmarks ( Dev Mode On) が機能しておらず、GWT が「コンパイル可能」なモジュールを検出できません。
質問:
では、JUnit-Test-Module を SuperDevMode でコンパイルするにはどうすればよいでしょうか。