我使用Jackson JSON提供程序來序列化/反序列化JAXRS請求。如何測試jackson-jaxrs-json提供程序(Arquillian + Wildfly)
爲了將其設置我有一個jboss-deployment-structure.xml
下的文件夾WEB-INF
:
<jboss-deployment-structure>
<deployment>
<exclusions>
<module name="org.jboss.resteasy.resteasy-jackson-provider"/>
<module name="org.jboss.resteasy.resteasy-jettison-provider"/>
</exclusions>
<dependencies>
<module name="org.jboss.resteasy.resteasy-jackson2-provider" services="import"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
所以,我已經建立了一個測試,以得到它:
@RunWith(Arquillian.class)
public class FollowUpActivityDTOSerializationTest
{
@Inject private ObjectMapper mapper;
@Deployment
public static WebArchive createDeployment()
{
System.getProperties().remove("javax.xml.parsers.SAXParserFactory");
EmbeddedGradleImporter importer = ShrinkWrap.create(EmbeddedGradleImporter.class);
WebArchive war = importer.forThisProjectDirectory().importBuildOutput().as(WebArchive.class);
war.addClass(ArquillianAlternative.class);
war.addClass(MockFactory.class);
war.addAsWebInfResource(
new StringAsset("<alternatives><stereotype>com.living.mock.ArquillianAlternative</stereotype></alternatives>"),
"beans.xml"
);
JavaArchive[] libs = Maven.resolver().resolve("org.mockito:mockito-core:2.0.31-beta").withTransitivity().as(JavaArchive.class);
war.addAsLibraries(libs);
return war;
}
@Test
public void emptyJSON()
{
String emptyJSON = "{\"id\": \"id\"}";
try {
FollowUpActivityDTO dto = this.mapper.readValue(emptyJSON, FollowUpActivityDTO.class);
assertNotNull(dto);
assertEquals(dto.getId(), "id");
} catch (IOException e) {
fail(e.getMessage());
}
}
}
問題Weld告訴我:
具有限定符的ObjectMapper類型的不滿意的依賴關係@Default
問題,我怎樣才能得到傑克遜提供者?
我不能告訴我們,如果傑克遜罐子實際上是在戰爭中,請添加輸出爲好。 – LightGuard