2016-11-24 15 views
0

私が作成した残りのAPIクラスの関数をテストしなければなりません。テストクラス内に作成されたAPIクラスの関数を取得できません。私はいくつかのガイドが必要です。イムは、ここで全体関数本体を与えていない残りのAPIメソッドのテスト

@POST

@Produces("text/plain") 
@Path("/notifications/login/") 
@HeaderParam("encoded") 
Response login(@HeaderParam("encoded") String encoded, @QueryParam("tenantId") String tenantId) throws NotificationManagementException; 

その私が作成した関数は、私はこの機能をテストする方法を知っておく必要があります。私はjavascriptでリクエストをしています。

+0

どのようなテストですか?あなたのオプションは、HTTPクライアントを使って実際のhttpレスポンスをテストすることから、通常のJavaメソッドのようなメソッドを呼び出して、それらのメソッド内で使用されるビジネスロジックをテストするだけです。 http://stackoverflow.com/questions/121266/unit-testing-a-jax-rs-web-serviceにはさらに詳しい情報があります。 – zapl

+0

ya、私はjax-rsサービスの単体テストを行う必要があります。実際にテストケースで行うことは、ユニットテストを行う実際の関数を呼び出すことです。その関数に適切なランダムなパラメータを与え、戻り値を取得し、テストですでに持っている定数と比較します。これは私が理解したものですか? – rahul

答えて

0

本当にしたくない理由がない限り、メソッドpublicを作成すると、テストクラス内でそのメソッドを確認できます。すなわち

public Response login(...) 

は、テストでは、その後、クラスの新しいインスタンスを作成し、通常のメソッドを呼び出すことができます。

@Test 
public void shouldDoSomething(){ 
    SomeClass someClass = new SomeClass(); 
    someClass.login(...); 
    //some assertions or verifications 
} 
+0

私はpublicに変更しましたが、まだテスト中にそのメソッドを取得していません – rahul

+0

私はそれを試みましたが、応答はnullとして来ています。 – rahul

+0

レスポンスssss = notificationManagementService.login(TestConstants.ENCODED_STRING、TestConstants.TENANT_ID); – rahul

0

二つの方法:

  1. 使用Postmanポスト要求を送信します。
  2. 残りのクライアントを作成するには、Spring-rest-clientに従ってください。
+0

ありがとう、私はそれをフォローアップします – rahul

0

Postmanは、RESTベースのAPI用の優れたクロム拡張ツールでテストできます。あなたのサーバーを実行し、郵便配達員からの要求を打つ。画像はリクエストを行う方法を示しています。

enter image description here