测试期望 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);