我有 Wicket Form 和 ProjectNameValidator 类:
@Inject
ProjectDao dao;
public ProjectNameValidator() {
CdiContainer.get().getNonContextualManager().inject(this);
}
这里的注入是因为@Inject 注解只在 Wicket 组件或 Behavior 中起作用,这里是 null 没有 CdiContainer.get().getNonContextualManager().inject(this);
但是当我有 WicketTester 时,TestCreateprojectPage:
public class TestCreateProject {
private WicketTester tester;
@Before
public void setUp() throws Exception {
tester = new WicketTester();
}
@Test
public void createProjectPageRendersSuccessfully() {
tester.startPage(CreateProject.class);
tester.assertRenderedPage(CreateProject.class);
} }
我在这一行的 ProjectNameValidator 中的 CreateProject.java 中的表单上遇到异常:
CdiContainer.get().getNonContextualManager().inject(this);
IllegalStateException:没有绑定到应用程序的 DCI 上下文。