【发布时间】:2015-04-23 09:13:14
【问题描述】:
我找到了How can I inject a data source dependency into a RESTful web service with Jersey (Test Framework)?,但我想我会问一些不同的问题。
这是@PostConstruct of abstract ancestors are not invoked的后续问题
我编写了一个 JAX-RS 库,并尝试使用 Jersey Test Framework 进行单元测试。
我似乎 HK2 注入正确。但是我发现我的一些生命周期拦截器方法用@PostConstruct 或@PreDestroy 注释没有被调用(或只有一些被调用)。
public class MyResource {
@PostConstruct
private void constructed() { // not invoked
}
@Inject
private Some some; // injection works.
}
如何使用 Jersey 测试框架启用 CDI?我必须依赖什么样的工件?
这是我当前的依赖项。
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.test-framework.providers</groupId>
<artifactId>jersey-test-framework-provider-grizzly2</artifactId>
<scope>test</scope>
</dependency>
【问题讨论】:
标签: unit-testing jersey testng cdi weld