1

私はGoogle Web Toolkit (GWT) の概念そのものに慣れていませんが、Java API とツールセットであることがわかる限り、クライアント側のコードを Java でコーディングできるようになり、ある時点で (ビルドの一部として、または HttpRequests が入ってくると動的に) Java コードからクライアント側の JS を生成します(これについて間違っている場合は、修正してください! )。

私が多かれ少なかれ正しいと仮定すると、どのように単体テストを行うのだろうか!? Java コードの JUnit テストを作成しますか、それとも、生成された JavaScript の JSUnit テストを作成しますか? また、JSUnit を使用している場合、GWT は出力するすべてのものを最適化および縮小するため、生成された関数の名前と内部動作をどのように知るのでしょうか? 前もって感謝します!

4

2 に答える 2

1

こちらをご覧ください: https://developers.google.com/web-toolkit/doc/latest/DevGuideTesting

基本的には、JUnit をずっと使用しています。可能な場合は純粋な Java を使用し、GWTTestCaseそれ以外の場合 (Java でエミュレートされたブラウザー (HTMLUnit) または実際のブラウザーで、DevMode または JS にコンパイルされたもの (別名prod モード))、および最後に、Selenium/WebDriver との統合/受け入れテスト。

于 2012-06-28T16:50:10.977 に答える
1

まず第一に、あなたは正しいです。GWT は、クライアント側の Java コードから Javascript コードを生成します。ただし、速度のために、Java のままで可能な限りすべてをテストします。

TestCaseJUnit のまたはから拡張した標準の JUnit テストを作成しますGWTTestCase

2 つの主な違いは次のとおりです。GWTTestCaseあらゆる種類のネイティブ JavaScript コードを使用するすべてのクラスに使用します (ウィジェットとグラフィック要素はこのようなものです)。コンパイラは「ヘッドレス」ブラウザを使用してこれらを JavaScript コードとしてテストします。そのため、これらのテストは標準の JUnit に比べて非常に遅くなりますTestCase

それが、他のすべてに標準の TestCase を使用する理由です (これはバイトコードとして実行されるため、はるかに高速です)。そのため、MVP パターンを使用して、ビュー (コードは でテストできますGWTTestCase) をプログラムの残りの部分 (コードでテストできますTestCase)。

GWT 単体テストのしくみと、作業を容易にするために使用すべきパターンについては、こちらこちらの 2 つの記事をご覧ください。

于 2012-06-29T13:34:01.437 に答える