我得到一个非法的状态异常,因为它无法将对象序列化为json,因为类路径中没有json序列化器。
这是我的测试方法。
@Test
public void testAddUser() {
User user = new User(1, "hhhh", "1234", "bbbb", "bbbbb");
given()
.contentType(MediaType.APPLICATION_JSON)
.body(user)
.expect()
.statusCode(200)
.log().ifError()
.when()
.post("/rest/user/add");
}
这是我添加的jackson依赖项,我假设已将jackson添加到类路径中。此外,我还在构建路径中添加了一个jax-rs jackson jar,但仍然收到了该错误。
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<version>2.5.1</version>
</dependency>
我在这里完全错过了什么?
我还检查了WEB-INF / lib,JARS也在那里。
答案 0 :(得分:0)
我的愚蠢疏忽。当我在Web存档中部署测试时,我应该将它包含在下面的实际存档中。
libs = Maven.resolver().resolve("org.codehaus.jackson:jackson-core-
asl:1.9.13")
.withTransitivity().as(File.class);
archive.addAsLibraries(libs);