如何为存储库 ( java ) 中的文件指定路径,以便我的自动化测试不会失败

how to specify a path for a file in repository ( java ) , so that my automation test won't fail

我正在放心地测试 API,编程语言是 JAVA,我没有什么问题,问题是,我必须放心地发送图像,并且它在本地成功发送,但是当我将它推送到 git 时,在指定路径时遇到问题,我的所有测试都是 运行 on TeamCity ,我得到了我的黄瓜报告,报告如下

java.io.FileNotFoundException: C:\Users\nameOfUser\Downloads250987.jpeg (系统找不到指定的路径)

我希望我已经把问题描述得足够清楚了,如果你有任何问题,有疑问请尽管提出你的问题,希望得到你的帮助与合作,在此先感谢!

代码如下

public static Response SendAnImage(String prodID,Cookies cookies)  {

     File file = new File("C:\Users\userName\Downloads\38250987.jpeg");
        System.out.println("is file found ---->  "+file.exists());

        Response response = given()
                .multiPart("file", file, "image/jpeg")
                .when()
                .cookies(cookies)
                .post("/api/product/"+prodID+"/file/false");


        return response;


    }

您不能在测试中引用本地文件。您需要将图片文件包含到您的 Git 存储库中,将它们作为资源加载到测试中,然后使用接受字节数组而不是文件的 REST-assured 方法:

multiPart(String controlName, String fileName, byte[] bytes)

您可以将文件放在 src/test/resources 文件夹中,然后像这样创建一个新文件:

 File file = new File("src/test/resources/38250987.jpeg");