2016-03-30 42 views
1

私はJersey Test、Mockito、JunitでテストするREST Webサービスを持っています。 Webサービスメソッドが正常に実行されると、正しい応答が得られます。データが無効な場合、ExceptionMapperで処理する必要があるカスタム例外がスローされます。同じ構造応答を返しますが、コードは異なります。 ExceptionMapperは、テスト環境では機能しません。しかし、後のテスト実行ログが表示さ:ジャージーテスト - ExceptionMapperが呼び出されない

1 < 500 
1 < Connection: close 
1 < Content-Length: 1033 
1 < Content-Type: text/html;charset=ISO-8859-1 
1 < Date: Wed, 30 Mar 2016 11:55:37 GMT 

javax.ws.rs.InternalServerErrorException: HTTP 500 Request failed. 
at org.glassfish.jersey.client.JerseyInvocation.convertToException(JerseyInvocation.java:1020) 
at org.glassfish.jersey.client.JerseyInvocation.translate(JerseyInvocation.java:816) 
at org.glassfish.jersey.client.JerseyInvocation.access$700(JerseyInvocation.java:92) 

は、私が使用:

<dependency> 
    <groupId>org.glassfish.jersey.test-framework.providers</groupId> 
    <artifactId>jersey-test-framework-provider-grizzly2</artifactId> 
    <version>2.22.2</version> 
</dependency> 
テストクラスによってextentedされ嘲笑サービスの

短縮バージョン:

public class MockedService extends JerseyTest { 

    @Override 
    public ResourceConfig configure() { 

     forceSet(TestProperties.CONTAINER_PORT, "8080"); 
     enable(TestProperties.LOG_TRAFFIC); 

     return new ResourceConfig().register(new Service()); 
    } 
} 

ExceptionMapperからの応答を取得する方法?あなたはまだあなた実環境でExceptionMapper

return new ResourceConfig() 
     .register(new Service()) 
     .register(new YourMapper()); 

を登録する必要があり

答えて

4

、マッパーは、おそらくどちらかのパッケージスキャンまたはクラスパスのスキャンと、スキャンされます。

関連する問題