1

我想测试我的 REST 服务:

<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 端点。MyService.java 中有用于模拟目的的设置器。如何为 MyService 实例提供 set/mocked 相关类?

4

1 回答 1

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);
    }
}
于 2016-06-22T11:28:44.847 回答