测试期望 MediaType_Application 的 RESTFull post 请求
Testing a RESTFull post request that expects MediaType_Application
我收到非法状态异常,因为它无法将对象序列化为 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 也在那里。
我的愚蠢疏忽。当我在 Web 存档中部署测试时,我应该将其包含在如下所示的实际存档中。
libs = Maven.resolver().resolve("org.codehaus.jackson:jackson-core-
asl:1.9.13")
.withTransitivity().as(File.class);
archive.addAsLibraries(libs);
我收到非法状态异常,因为它无法将对象序列化为 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 也在那里。
我的愚蠢疏忽。当我在 Web 存档中部署测试时,我应该将其包含在如下所示的实际存档中。
libs = Maven.resolver().resolve("org.codehaus.jackson:jackson-core-
asl:1.9.13")
.withTransitivity().as(File.class);
archive.addAsLibraries(libs);