本文介绍了泽西岛1.19测试配置-模拟类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想使用以下方法测试我的REST服务:
I want to test my REST service with:
<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实例提供设置/模拟的相关类?
MyService.java is REST endpoint which has injected DAO and other services. There are setters for them in MyService.java for mocking purposes. How to provide MyService instance with set/mocked related classes?
推荐答案
它与
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);
}
}
这篇关于泽西岛1.19测试配置-模拟类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!