問題タブ [wicket-tester]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - WicketTesterで入力フィールドに入力するにはどうすればよいですか?
WicketWebPageの単体テストを書いています。ページを起動し、フィールドに入力し、リンクをクリックしてから、いくつかのアサーションを作成したいと思います。
WicketTesterとBaseWicketTesterのAPIを見ると、入力フィールドを見つけるためのパス( "form:input"など)を使用してテキストを入力できるメソッドが見つかりませんでした。
私は何か見落としてますか?これはかなり基本的なユースケースのようです。このようにWicketTesterを使用することになっていないのですか?(clickLink()のようなメソッドが存在することを考えると、これは驚くべきことです。)
java - WicketTester で AjaxFormChoiceComponentUpdatingBehavior をテストする方法
私の Wicket アプリケーションでは、「はい」と「いいえ」のオプションを持つラジオ ボタンを 1 つ使用しました。「いいえ」を選択すると、ドロップダウンの選択肢が 1 つ表示されます。を使ってコードを書きAjaxFormChoiceComponentUpdatingBehavior
ました。WicketTester を使用してこれを単体テストするにはどうすればよいですか?
java - WicketTesterを使用して要素(コンポーネント)のテキストをクエリするにはどうすればよいですか?
WicketTesterでクリックするコンポーネントのid-pathを指定するのではなく、特定のテキストを含むリンクを見つけたいと思います。
ツリーを実行するために使用できますMarkupContainer.visitChildren
が、各リーフの実際にレンダリングされたコンポーネントテキストを取得できます.innerHTML
か?
testing - ウィケットとアットユニット
私は Wicket を使い始め、依存性注入フレームワークとしてGuiceを選択しました。今、WebPage オブジェクトの単体テストを作成する方法を学ぼうとしています。
少しグーグルで検索したところ、この投稿を見つけましたが、AtUnit について言及していたので、試してみることにしました。
私の WebPage クラスは次のようになります
プロダクションの MyServiceImpl をそれに置き換えるモックを作成しましたが、Guice と AtUnit がそれを注入する必要があると思います。
問題は次のとおりです。
AtUnit は、ターゲット オブジェクトを @Unit でマークすることを期待しています。これは、作成済みのオブジェクトを WicketTester に渡すことができるため、問題ありません。
しかし、通常はクラス名で startPage を呼び出します。
AtUnit は、ターゲット オブジェクトが @Inject を使用して市場に出されていることも期待しているため、AtUnit はそれを作成および管理できますが、org.apache.wicket.WicketRuntimeException: There is no application attached to current thread main が発生します。AtUnit に wicketTester からのアプリケーションを使用するように指示できますか?
- 私は MyWebPage で @Inject を使用していないため (私が思うに)、Guice によって注入されるべきすべてのオブジェクトは null です (私の例では、サービス参照は null です)。
Wicket 環境内の AtUnit については本当に何も見つかりません。私は何か間違ったことをしていますか、何かが欠けていますか?
wicket - Wicket Page オブジェクトから、それが変更されたことをどのように確認できますか?
これが私のシナリオです。私は Wicket アプリをテストしておりwicktetTester.getServletResponse.getDocument
、XPath を使用してコンポーネントを見つけるために、ページ テキストを XML として解析しています。dom4j.Document
これはかなりコストがかかるので、ページが変更されるまで保持してから再構築したいと考えています。
現在のページは知っていますwicketTester.getLastRenderedPage
が、たとえばフォームを送信して同じページにとどまると、Page
オブジェクトは同じオブジェクトになります。ページが再レンダリングされ、DOM を再構築する必要があることを確認するには、ページのどのプロパティを照会できますか?
wicket - 現在のWicketページのソースを取得できますか?
私はwicketTester.getServetResponse.getDocument
テストのために現在のページのテキストを取得するために使用してきましたが、ajaxリクエストの後、ページ全体ではなくajax応答に設定されていることがわかりました。
ブラウザはajax操作後にそれを見るので、レンダリングされたページ全体の表現を取得する方法はありますか?
java - カスタムWicketコンポーネントの単体テスト方法
この本当に単純なWicketコンポーネントを考えると:
WicketTesterを使用してユニットテストする方法は?ページが必要ですか?
http-headers - WicketTester で http ヘッダー データを設定するにはどうすればよいですか
プロキシの背後にある Web アプリケーションがあります。ユーザーがログインしている場合、http-header が設定されます。MockHttpRequest
ユーザーがログインしていないことを確認するために、ヘッダーをチェックするページがあります。WicketTester によって生成されたヘッダーを追加するにはどうすればよいですか?
現在の単体テストは次のようになります。
更新: 実稼働 Web サイトで 1.4.17 を使用しています。1.5.X がリリース候補/マイルストーン ステージから完全にリリースされるまで、1.5.X にアップグレードするつもりはありません。
への呼び出しはWicket-1215 のwt.setupRequestAndResponse();
修正の試みであり、 Wicketで単体テストを行うときにカスタム セッションを設定する
にはどうすればよいですか?
wicket - コンストラクター引数を使用したWicketパネルのテスト
コンストラクターでいくつかのパラメーターを受け取るいくつかのパネルを含むページを取得しました。それらの1つは、メニュー内のさまざまなボタンのリストを取得するメニューです。
コンポーネントとしてテストしようとしましたが、nullポインタ例外が発生します。ダミーページを使用して、ダミーページにパネルを作成すると機能します。このアプローチでは、テストに多くの新しいコードが導入され、エラーが発生する可能性が高くなるため、完全に満足しているわけではありません。
コンストラクターで引数を取るパネルをテストするより良い方法はありますか?
確かに:nullポインタエラーを与えるコード:
パネル
そしてhtml
java - Hibernate を使用した WicketTester
現在、Wicket アプリケーションをテスト可能にする方法を考えています。
基本的には、Wicket / Hibernate / Apache Derby のセットアップです。Hibernate はフィルターとして使用され ( http://community.jboss.org/wiki/OpenSessionInView / HibernateSessionRequestFilter を参照)、設定として hibernate.cfg.xml ファイルがあります。
私がやりたいことは、テスト実行ごとにゼロから再構築できるカスタム データベースで WicketTester を使用できるようにすることです。理想的には、テストには Hibernate の接続パラメーターが含まれます。
基本的に、私の質問は、データベースを動的に、または起動時に切り替える方法についてです。
もっと抽象的な: この種のテストに適したアプローチは何ですか?