如何将Src / Test / Resources文件夹指定为XSD资源路径

时间:2018-06-08 09:59:22

标签: java xml xsd

我正在使用java和REST Assured创建自动化Web服务测试。

目前,我正在验证我收到的针对XSD文件的XML响应模式。

以下是我的代码:

InputStream ValidXsd = Thread.currentThread().getContextClassLoader().getResourceAsStream("BR000AcceptSchema.xsd");

    RestAssured.given()
    .auth()
    .preemptive()
    .basic(theUsername, thePassword)
    .contentType(theContentType)
    .header("Accept",theContentType)
    .body(theXMLBody)
    .when()
    .post(theURL)
    .then()     
    .body(io.restassured.matcher.RestAssuredMatchers.matchesXsd(ValidXsd));

我的问题是此XSD文件当前存储在 src / main / resources 中,但我需要将其移至 src / test / resources

但是,当我这样做时,测试失败,因为代码没有拾取XSD文件( BR000AcceptSchema.xsd )。

有人可以告诉我如何指定代码来查看此XSD的src / test / resources?

我认为这个问题与将XSD添加到类/构建路径有关。

1 个答案:

答案 0 :(得分:0)

XSD文件存储在src / test / resources中的子文件夹中,我忘了在文件路径中指定它。

以下代码现在有效:

InputStream ValidXsd = Thread.currentThread().getContextClassLoader().getResourceAsStream("US46052/BR000AcceptSchema.xsd");

RestAssured.given()
.auth()
.preemptive()
.basic(theUsername, thePassword)
.contentType(theContentType)
.header("Accept",theContentType)
.body(theXMLBody)
.when()
.post(theURL)
.then()     
.body(io.restassured.matcher.RestAssuredMatchers.matchesXsd(ValidXsd));

所需的唯一更改是第一行代码中的XSD文件路径