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

Java 如何将Src/Test/Resources文件夹指定为XSD资源路径,java,xml,xsd,Java,Xml,Xsd,我正在使用java和REST Assured创建自动化web服务测试 目前,我正在根据XSD文件验证收到的XML响应模式 下面是我的代码: InputStream ValidXsd = Thread.currentThread().getContextClassLoader().getResourceAsStream("BR000AcceptSchema.xsd"); RestAssured.given() .auth() .preemptive() .basi

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

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的文件路径

是否是测试代码(在
src/test/java
中)?是的,在
src/test/java
中的代码测试功能代码,然后应该可以发现,我看不出您的代码有任何错误。首先尝试
getResource(…)
getResources(…)
并检查返回的内容。另一个问题可能是由于某种原因,资源没有复制到目标文件夹。如果资源存在,请检查目标文件夹。如果您在IDE中,请检查生成器日志。如果您在Eclipse中使用Maven,请检查m2控制台。@lexicore您好,我已经尝试了
System.out.println(新文件(“BR000AcceptSchema.xsd”).getAbsolutePath(),返回:C:\Users\username\Desktop\Automation Testing\project anem\BR000AcceptSchema.xsd。我还在项目中搜索了这个XSD文件,它只出现在project name\src\test\resources\US46052和project name\target\classes\main中\US46052@lexicore我已经成功地自我诊断了这个问题,XSD文件包含在src/test/resources的子文件夹中!