2016-06-22 1 views
1
私は私のRESTサービスをテストしたい

ジャージー1.19テスト構成 - モッククラス

<dependency> 
    <groupId>com.sun.jersey.jersey-test-framework</groupId> 
    <artifactId>jersey-test-framework-grizzly2</artifactId> 
    <version>1.19</version> 
    <scope>test</scope> 
</dependency> 

私が持っている設定クラス:

public class MyServiceTest extends JerseyTest { 

    @Override 
    protected int getPort(int defaultPort) { 
     return 8080; 
    } 

    public static class AppConfig extends DefaultResourceConfig { 
     public AppConfig() { 
      super(MyService.class); 
     } 
    } 

    @Override 
    public WebAppDescriptor configure() { 
     return new WebAppDescriptor.Builder() 
     .initParam(WebComponent.RESOURCE_CONFIG_CLASS, 
       AppConfig.class.getName()) 
       .build(); 
    } 

    public MyServiceTest(){ 

    } 
} 

MyService.javaはDAOと他を注入したRESTエンドポイントをありますサービス。 mockingの目的で、MyService.javaにそれらのセッターがあります。 MyServiceインスタンスにset/mocked関連クラスを提供するには?

答えて

2

それは

public static class AppConfig extends DefaultResourceConfig { 
    public AppConfig() { 

     MyService myService = new MyService(); 
     MyDAO myDAO = mock(MyDAO.class); 
     myService.setMyDAO(myDAO); 

     getSingletons().add(new ExceptionMapperProvider()); 
     getSingletons().add(myService); 
    } 
} 
で働いていました
関連する問題