問題タブ [jersey-test-framework]

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.

0 投票する
4 に答える
2137 参照

java - JerseyTest REST WEB SERVICEをテストするためのデフォルトポートの変更

Rest Web サービスをテストするテスト ケースを作成しました。http://localhost:9998しかし、テストケースでは、私のサービスが登録されているジャージーテストフレームワークのデフォルトポートにリクエストが送信 されていることがわかりますhttp://localhost:8080。ポートを変更する方法がわかりません8080

0 投票する
1 に答える
1236 参照

java - 依存性注入に Spring を使用したジャージー Web サービスの統合テストが @Context HttpServletRequest の初期化に失敗する

依存性注入 (spring-jersey モジュール) に spring を使用し、オブジェクト リレーショナル マッピング (ORM) に hibernate を使用する jersey Web サービスがあります。以下の条件を考慮して統合テストを開発するため:

  1. テスト クラス全体に対して 1 回だけテスト コンテナーを初期化する
  2. カスタム リスナー、フィルター、サーブレットなどをテスト コンテナーに登録する
  3. @Context HttpServletRequest が null でないことを確認してください

このhttps://java.net/jira/browse/JERSEY-2412ジャージー プロジェクト JIRA タスクHttpServletRequestによると、これはタスクWorks as desginedの解像度に示されているとおりです。Grizzly コンテナーで統合テストを実行すると、httpサーバーで統合テストが実行されるため、 HttpServletRequest、HttpServletResponseなどのサーブレットベースの機能への依存は利用できません。

この問題に対処する方法に関する標準的な解決策はないようです。Jerseyコミュニティは、このhttps://java.net/jira/browse/JERSEY-2417 JIRA チケットに記載されているように、貢献者によって開発された機能に対して明らかにオープンです。この機能が実装されるまで、どのような回避策が考えられますか? 私の調査に基づいて、次のような投稿をいくつか見つけました。

  1. 外部コンテナーを使用する (私もしたくない場合はどうすればよいですか?)
  2. jersey の jetty モジュールを使用します (Jetty を使用したくない場合はどうすればよいですか?)
  3. このプロジェクトには適用されない SpringMVC 固有のソリューション (Spring MVC を使用しないため)

では、依存性注入に spring-jersey ブリッジを使用し、 サーブレットベースの機能に依存する jersey ベースの Web サーバーで統合テストを正常に実行するための最適なソリューションは何でしょうか?

0 投票する
1 に答える
924 参照

rest - JerseyTest が 400 Bad Request を返す代わりに ConstraintViolationException をスローするのはなぜですか?

Jersey バージョン 2.23.2 を使用JerseyTestしていますが、検証が失敗した場合の応答をテストする方法がわかりません。何らかの理由で、以下のテストは、Bad Requestを返す代わりにConstraintViolationException、a でラップされた a をスローします。がスローされたことを確認するようにテストを変更することもできますが、実際には応答をテストしたいと考えています。なしで Grizzlyを実行すると、適切なBad Request 応答が返されます。以下のテストを修正する方法についてのアイデアはありますか?ProcessingException400ProcessingExceptionHelloResourceJerseyTest400badRequestResponse()

これが私が得ている例外です:

0 投票する
1 に答える
247 参照

java - スプリング @Value でアノテーションが付けられたメンバーを使用して Jersey エンドポイントをテストする

私はJerseyを使用しようとしています.Spring Webアプリにjax-rsエンドポイントを持たせるために、Springと統合しています。

私が抱えている問題は、@Value で注釈が付けられたアプリケーションのメンバーが、単体テストに入力されていないことです。

@Autowired が設定されているものは正常に機能し、文字列のセッター メソッドを作成して @Value で注釈を付けると、これも機能します。

私を悩ませているのは、@Value で直接アノテーションが付けられたメンバーがテストでは機能せず、Tomcat にデプロイすると機能することです。

これは、何らかの形でテスト構成に問題がありますか? それとも、これはどこかで既知の問題ですか?

これらは私が考える関連する依存関係です:

ここで問題を例示する小さなプロジェクト: https://github.com/alexanderkjall/jersey-jetty-interaction-example/blob/master/src/main/java/no/hackeriet/bugs/SpringRequestResource.java

0 投票する
3 に答える
2112 参照

java - Jersey Test/Client がデフォルトの Accept ヘッダーに入力しないようにするにはどうすればよいですか?

特定の方法でヘッダーのないリクエストを処理しようとしてAcceptいますが、ジャージーは私が何をしてもヘッダーを埋めることに必死に見えるので、Acceptヘッダーがなくても常にリクエストにヘッダーがあるように見えます.

このテストの結果は次のとおりです。

どういうわけか、どこかに設定されるデフォルトAcceptのヘッダーがあります。text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2文書化されていません。無効にする方法を知りたいです。ジャージーのソースを調べましたが、これがどこで発生しているのか、またはその理由を特定できないようです。

更新: curl を使用して Accept ヘッダーなしでエンドポイントをヒットすると、Accept ヘッダーが生成されないため、問題はジャージー クライアントまたはジャージー テスト環境にあります。

更新 2: このバグは、デフォルトの Grizzly2 テスト コンテナーまたは JDK テスト コンテナーを使用している場合に発生しますが、イン メモリ テスト コンテナーでは発生しません。

0 投票する
1 に答える
415 参照

java - Jersey2.0 を使用して JerseyTest の springbeans にアクセスする

私は春のジャージ プロジェクトを持っています。今私のテストはJerseyTestから派生しています。やろうとすると

ジャージテストでスプリングが効いてないようです。私はいくつかの調査を行い、spring_jersey のようないくつかのリンクを見つけまし が、jersey2.0 を使用しているため、機能しませんでした。

私のコードは次のようになります

アップデート:

豆を入れました

src/test/resources/META-INF/applicationContext.xml

追加した同じ Bean

src/main/resources/META-INF/applicationContext.xml