繁体   English   中英

如何为Rest Assured 3.0.3(使用Java和TestNG)声明默认解析器?

[英]How do I declare a default parser for Rest Assured 3.0.3 (using Java and TestNG)?

美好的一天,

我是一名公认的新手Java程序员,但我会研究文档和常见问题解答以试图解决过去的问题。 然而,这是一个我无法克服的问题。 我正在使用RestAssured(版本3.0.3,由Maven提取)并且无法让RestAssured解析“text / plain”内容(相反,我无法让Java编译代码来执行此操作)。

这会编译但会出错:

import static io.restassured.RestAssured.*;
import static io.restassured.matcher.RestAssuredMatchers.*;
import static org.hamcrest.Matchers.*;

import static io.restassured.module.jsv.JsonSchemaValidator.*;

import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import org.testng.annotations.AfterClass;

public class TestNG2 {

/*
   userName, passWord and server defined here as protected static Strings
*/
    @Test
    public void filter_Asset(){

        given().
            auth().basic(userName, passWord).
        when().
            get ("http://" + server +"/api/filter?type=$tAsset").
        then().
            statusCode(200).
            body("count", greaterThan(0));
    }
}

错误:

java.lang.IllegalStateException:要验证为JSON,HTML或XML的预期响应主体,但不支持开箱即用的内容类型“text / plain”。 尝试使用以下命令注册自定义解析器:RestAssured.registerParser(“text / plain”,);

但是,当我尝试在filter_Asset测试中包含以下行时:

RestAssured.registerParser("text/plain", Parser.JSON);

代码将无法使用以下投诉进行编译:

java.lang.Error:未解决的编译问题:RestAssured无法解析Parser无法解析为变量

当我尝试使用以下声明时,我收到类似的投诉:

RestAssured.defaultParser = Parser.JSON;

对于它的价值,我正在使用Windows 7,64位机器。 使用Eclipse Neon.3(4.6.3)和我的JDK是1.8_131

我已经咨询过RestAssured的使用和文档页面,相信我正确地导入包,等等。我在某个地方犯了一个菜鸟错误吗?

这是一个菜鸟的错误!

除了静态导入类方法外,编译器还需要导入以下类:

import io.restassured.RestAssured;
import io.restassured.parsing.Parser;

在那些声明之后,我能够在filter_Asset测试中注册默认的Parser:

RestAssured.registerParser(“text / plain”,Parser.JSON);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM