새로운 ShrinkWrap 기능 MavenImporter (https://github.com/shrinkwrap/resolver)를 사용하여 Arquillian Test를 실행하기위한 전체 WebArchive를 만들고 싶습니다.WebArchive 생성 중 ShrinkWrap UnknownExtensionTypeException이 발생했습니다.
하면 시나리오 :
Arquillian는 봄 응용 프로그램을 테스트 SoapUi와/확장 된 통합되어야한다. Spring 애플리케이션에 의해 노출되고 cxf로 구현 된 n 개의 끝점이 있습니다.
이 시험 방법은 다음과 같습니다
내 @ 배포-방법은 다음과 같습니다/*
* Source folder for SoapUi project files
*/
@Value("${soapui.workspace}")
private String soapUiWorkspace;
/*
* Output directory for test reports
*/
@Value("${soapUi.reports.dir}")
private String reportsOutpuDirectory;
/*
* Comma separated list of SoapUi projects to be tested
*/
@Value("${soapUi.projects}")
private String[] projects;
/*
* URL resource provided by Arquillian runtime
*/
@ArquillianResource
private URL serverUrl;
@Test
public void testServiceEndpoints() throws Exception {
final SoapUITestCaseRunner runner = new SoapUITestCaseRunner();
for (String project : projects) {
runner.setProjectFile(String.format("%s%s%s", soapUiWorkspace, "/", project));
runner.setHost(String.format("%s:%s", serverUrl.getHost(), serverUrl.getPort()));
runner.setOutputFolder(reportsOutpuDirectory);
LOG.info("SoapUi-Call for " + runner.getHost());
runner.setJUnitReport(true);
runner.setPrintReport(true);
runner.run();
}
}
:
@Deployment
public static Archive<?> createDeployment() {
return ShrinkWrap.create(MavenImporter.class).loadPomFromFile("pom.xml").importBuildOutput().as(WebArchive.class);
}
내가 지금이 예외 받고 있어요 :
java.lang.RuntimeException: Could not invoke deployment method: public static org.jboss.shrinkwrap.api.Archive com.bosch.mome.ws.facade.common.soapui.MarketTransparencyServiceEndpointsSoapUiTest.createDeployment()
at org.jboss.shrinkwrap.api.UnknownExtensionTypeException.newInstance(UnknownExtensionTypeException.java:68)
at org.jboss.shrinkwrap.api.UnknownExtensionTypeExceptionDelegator.newExceptionInstance(UnknownExtensionTypeExceptionDelegator.java:37)
at org.jboss.shrinkwrap.impl.base.ServiceExtensionLoader.findExtensionImpl(ServiceExtensionLoader.java:279)
at org.jboss.shrinkwrap.impl.base.ServiceExtensionLoader.loadExtensionMapping(ServiceExtensionLoader.java:246)
at org.jboss.shrinkwrap.impl.base.ServiceExtensionLoader.createFromLoadExtension(ServiceExtensionLoader.java:212)
at org.jboss.shrinkwrap.impl.base.ServiceExtensionLoader.load(ServiceExtensionLoader.java:108)
at org.jboss.shrinkwrap.impl.base.ArchiveBase.as(ArchiveBase.java:662)
at org.jboss.shrinkwrap.api.ArchiveFactory.create(ArchiveFactory.java:150)
at org.jboss.shrinkwrap.api.ShrinkWrap.create(ShrinkWrap.java:163)
at com.bosch.mome.ws.facade.common.soapui.MarketTransparencyServiceEndpointsSoapUiTest.createDeployment(MarketTransparencyServiceEndpointsSoapUiTest.java:82)
Jan 19, 2015 6:29:46 PM org.apache.coyote.http11.Http11Protocol destroy
INFO: Stopping Coyote HTTP/1.1 on http-127.0.0.1-8888
을 현재 Assort를 추가하지 않고 있습니다. 왜냐하면 현재 junit SoapUi 라이브러리와 Arquillian을 Endpoi 테스트 용으로 통합하고 있기 때문입니다. nts 및 전체 응용 프로그램/WebArchive를로드해야합니다.
나는 ShrinkWrap javadoc을 찾고 있었지만 제대로 된 해결책이나 해결책을 찾지 못했습니다. javadoc 내에서
나는 다음과 같은 읽기 :UnknownExtensionTypeException: Indicates that a default name cannot be generated for a given type because no extension mapping has been configured via ExtensionLoader.getExtensionFromExtensionMapping(Class)
하지만 정확히 확장 매핑을 구성 할 수있는 모르겠어요. 튜토리얼이나 샘플은 없습니다. 아니면 내가 그들을 찾지 못했을 수도 있습니다.
누구나이 새로운 ShrinkWrap 기능으로 경험이 있습니까?
루벤 :
는 또한 문서를 체크 아웃 :
당신이 어느 정도이 같은 BOM과 depchain를 사용하는 경우 오류가 사라질 밝혀 : 나는 다음과 같은 종속성을했다 당신은 이것에 대한 해결책을 찾았습니까? –
@Ben Page, 우리는 더 많은 재 작업을 할 시간이 없었기 때문에 전화를 조롱하기로 결정했습니다. 늦은 반응에 대해 유감입니다. –