2016-07-22 4 views
0

RESTエンドポイントを手元に置いて、カスタムアノテーションがうまくいっていることを確認して、エラー状態を送信していることを確認しています。テストフォルダにJAXRSエンドポイントを持つ方法

私は私の顧客にこれらを展開したいいけないとして、自然な選択がテスト/ javaのフォルダに私の@Pathエンドポイントを持っていることとを介してそれらは、(私の場合ジャージー)JAXRS実装によって発見されていなければなりませんアノテーションの@ComponentScanの使用。

残念ながら、魔法は起こりません。

正しい呪文は何ですか?レシピに欠けている成分はありますか?

私のコンテキストは、サーブレット3のサポートとTomcatでジャージプロジェクトを展開したい場合は、テスト用ジャージ

public class MyApplication extends ResourceConfig { 
    public MyApplication() { 
    packages("org.foo.rest;org.bar.rest"); 
    } 
} 

のためのリソースの設定のクラスを提供する必要がSpringHibernateTomcat7Jersey 2.2

+0

アプリケーションをデプロイする前にテストしますか?一時的なコンテナに展開した後(基本的にHTTPクライアントを使用) – aksappy

+0

これはアプリの通常のテストの一部です。 Jenkinsによって実行されます。すでにアプリとともに自分の気分を盛り上げるテストがある。したがって、アプリケーションで個別に実行されます。テスト版(デプロイされていません) –

+0

Tomcatを別途実行せずにRESTエンドポイントのテストを作成して実行しますか? – Justas

答えて

0

ですantrunプラグインを使用してテストクラスをコピーすることができます。このgithub urlを参照用に使用します。gist.github.com/isopov/4387142

+0

ありがとうshivam、すでにそのようなクラスがsrc/javaフォルダにあります。 私の問題は、自分のエンドポイントがtest/javaになって、構築された戦争で展開されないようにしたいということです。 実際これは私の問題です。テストフェーズで起動したtomcatsは、test/javaの下にあるクラスなしで構築されたアプリケーションを実行しています。これは404エラーです。 私の目を開けてくれてありがとう。 –

+0

テスト用にantrunプラグインを使用してテストクラスをコピーすることができます。このgithub urlを参考にしてください。https://gist.github.com/isopov/4387142 – shivam

+0

これは賢い@shivamです。アイデアを私の同僚に提出する。 私はjaxrs queryparamsで行ったように、テストクラスを作成し、フィールドに注釈を付けてから、バリデーターを呼び出すメソッドを書きました。私は妥当性検査の例外をキャッチし、状況をチェックする原因を掘り起こしてください。 –

関連する問題