我正在使用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添加到类/构建路径有关。
答案 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文件路径