我有两个问题:
1)如何为扩展JerseyTest
的单元测试设置servlet Context。从我所做的研究来看,似乎我必须为TestContainer
创建TestFactory
并传入AppDescriptor
,但这似乎应该更复杂。还有其他建议吗?
一般情况下,寻找一种方法在我的Jersey资源类的单元测试中设置Servlet Context,这通常由web.xml完成。
示例:
@Path(value = "/service")
public class Foo{
@Context ServletContext ctx;
@GET
@Path(value="/list")
public String list() {
Controller ctrl = new Controller();
ctx.setAttribute("controller", ctrl);
return ctrl.getList();
}
}
public class FooUnitTest extends JerseyTest
{
@Test
public void testService()
{
//set/how to configure the context?
}
}
目标是模拟控制器,以便将其传递到上下文中。
2)使用
中的球衣测试有什么区别<dependency>
<groupId>com.sun.jersey.jersey-test-framework</groupId>
<artifactId>jersey-test-framework-grizzly</artifactId>
<version>1.5-SNAPSHOT</version>
<scope>test</scope>
</dependency>
VS。
<dependency>
<groupId>org.glassfish.jersey.test-framework.providers</groupId>
<artifactId>jersey-test-framework-provider-bundle</artifactId>
<version>2.4.1</version>
</dependency>
这是Jersey framework 2.5
答案 0 :(得分:-1)
您可以使用org.springframework.mock.web.MockServletContext
类来模拟servlet上下文。它是Spring框架的一部分。