Я новичок в CDI, я пишу junit с помощью cdi-unit и фреймворка для тестирования джерси.
@RunWith(CdiRunner.class)
public class ServiceApiTest extends JerseyTest {
@Override
public WebAppDescriptor configure() {
return new WebAppDescriptor.Builder()
.initParam(WebComponent.RESOURCE_CONFIG_CLASS,
ClassNamesResourceConfig.class.getName())
.initParam(
ClassNamesResourceConfig.PROPERTY_CLASSNAMES,
testService.class.getName() + ";").build();
}
@Test
public void testOnMessage() throws Exception {
ClientResponse response = resource().path("/testService").get(ClientResponse.class);
System.out.println(response);
}
//...
}
Здесь сервис тестирования - это отдых на основе джерсиAPI, который использует CDI для DI.Но классы в @Inject не инициализируются.
Я проверил и обнаружил, что могу использовать @ AdditionalPackages / @ AdditionalClasspath для включения обнаружения классов, но это не сработало. Что я должен сделать, чтобы CDI обнаружил всеклассы, необходимые для @ Inject