2

http://jersey.java.net/nonav/apidocs/latest/jersey/jersey-test-framework/jersey-test-framework-core/com/sun/jersey/test/framework/JerseyTest.htmlによると、ユーザーは選択できます2 種類のテスト コンテナー間:

  1. サーブレットをサポートしない低レベルのコンテナ
  2. サーブレットをサポートする Web ベースのコンテナ

次の質問があります。

  1. 各種類のコンテナの長所と短所は何ですか? たとえば、低レベルのコンテナーは高速ですが、何らかの機能が欠けていると思います。
  2. 低レベルのコンテナーがサーブレットをサポートしていないという事実は、どういう意味ですか? JAX-RS はサーブレットの上に基づいていると思いました。低レベルのコンテナーで実行できないことは何ですか?

更新

さらに調査したところ、低レベルのコンテナーの方が高速であることがわかりましたが、実際にはサーブレットなしで実行されます。クライアントが要求を行うと、適切なリソースが構築され、応答がすべてメモリ内でクライアントに返されます。これは、従来のネットワークベースの JDBC 接続に対して組み込みデータベースを実行することに似ています。

ServletContextListener を提供したり、サーブレットやフィルターを登録したりするメカニズムはありません。リクエストスコープもサポートされていないと思います。

私の質問は、これらの制限の下で意味のあるものを本当にテストできるでしょうか?

4

1 に答える 1

1

「…この制限の下で本当に意味のあるものをテストできますか…」

ビジネス ロジックをテストして、より迅速に実行できます。

(ただし、これを修正してほしい: JERSEY-622。メモリ内テスト コンテナーは、Jackson、つまり Jersey の POJO マッピング機能をサポートしていません。)

于 2012-12-21T15:43:10.113 に答える