私はGWT + SmartGWTアプリケーションのクライアント側でユニットテストを行っています。GWT + SmartGWTの単体テスト方法は?
最初に、GwtTestCaseでテストしました。巨大なアプリケーションを単体テストするには長すぎます。 GwtTestSuiteは役に立ちません。それでも実行には時間がかかります。 (さらに、テスト時にブラウザを起動するように頼んだ)
次にgwt-test-utils:素晴らしいフレームワーク。悲しいことに、私のjavassistバージョンは3.5で、少なくとも3.11が必要です。 JavassistはGileadによって使用されているので、私はこれに触れることはできません。だから、gwt-test-utilsはありません。
私が見たセレニウム。それは素晴らしいです。 htmlunitドライバを使うと、速くて便利です。 Webアプリケーションをテストする最も簡単な方法。ここでの問題は、Webページを生成するときにSmartGWTが独自のIDを生成することです。だから私はTextItemsを取得し、それらのIDは常に変化しているので、それらを埋めることができません。ウィジェットの初期化の前にsetID()を使用して解決できることがわかりました。しかし、これはscLocatorのIDであり、HTML IDではありません。 SeleniumはscLocatorで動作したくありません。
=> SeleniumでscLocatorを受け入れる簡単な方法はありますか? (私がシンプルだと言うと、単純でなければなりません...私はJavaの専門家ではありません...)
誰かがアプリケーションの単体テストに助けてくれますか?それはJavaでコード化されているので、巨大で、コードの約70%(25k行のコード)をカバーする必要があります。
さらに仕様: Mavenを使用してコンパイルします。 私はサーバー側に触れていません。 テストはGwtTestCaseとスイートよりも高速である必要があります:私は私の問題がクリアされている願っています/
、私は私が行うことの過ちのために英語のネイティブとても残念じゃない:X
コメントのみ - gwt-test-utilsは、JSNIコードの代わりにJavascriptを作成する必要があるため、SmartGWTでは使用できません。 SmartGWTは主にSmartClientを包むラッパーであるため、これは大きな努力になります。 –
はい私はプロジェクトの保守担当者の1人に連絡しました。彼はそれは決してうまくいかないと私に言った:/ だから私はセレンで戻ってきた。 – Depado
私はSeleniumを使ってunit testing smartGWTアプリケーションに関するブログを作った。あなたが興味を持っているかどうか見てください^^ http://noobdevelopper.tumblr.com/ – Depado