【发布时间】:2015-06-29 11:47:35
【问题描述】:
我正在编写一个 JAX-RS 库(不是应用程序)。
我有:
abstract class A {
@PostConstruct
private void constructed_a() {} // not invoked
@Inject
private Some some;
}
public abstract class B extends A {
@PostConstruct
private void constructed_b() {} // not invoked
}
和测试类:
@Path("c")
public class C extends B {
@PostConstrct
private void constructed_c() {} // invoked
}
我正在使用 jersey 测试框架 v2.17 进行测试
我发现只有constructed_c()被调用,而那些在祖先中定义的方法没有被调用。请注意,在类A 中使用@Inject 声明的字段(some) 已正确注入。
这正常吗?我该怎么办?
结论
我使用嵌入式 glassfish 进行了测试,发现正如 Antonin Stefanutti 指出的那样,这些回调方法按预期顺序调用。
constructed_a()
constructed_b()
constructed_c()
【问题讨论】:
标签: java unit-testing jersey jax-rs cdi