如何测试REST API - 多文件上传?

时间:2016-07-15 12:03:22

标签: java playframework

我已经定义了一个支持多个文件上传的文件上传方法:

 public static Result upload() {
   MultipartFormData body = request().body().asMultipartFormData();
   FilePart file1 = body.getFile("filePart1");
   FilePart file2 = body.getFile("filePart2");
   .....
   .....
 }

我想测试这个REST API,我不知道该怎么做。

有人可以帮助我测试它吗?

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

如果您想从构建中进行自动化测试,请按以下步骤操作。

(我更喜欢自动化测试),可以使用RestAssured完成,如下所示。

     io.restassured.RestAssured.given()
            .multiPart("filePart1", "filename1.txt", file1, FILE_TYPE)
            .multiPart("filePart2", "filename2.txt", file2, FILE_TYPE)
            .expect()
            .when()
            .post("/api/files")
            .then()
            .assertThat()
            .statusCode(HttpStatus.SC_CREATED)

如果您使用的是springframework,可以按照this blog (code a line)

中的说明更简单地完成

答案 2 :(得分:1)

你可以用apitest测试

{
  test3: { @describe('test multi-part')
    req: {
      url: "https://httpbin.org/post",
      method: "post",
      headers: {
        'content-type': "multipart/form-data",
      },
      body: {
        filePart1: "filename1.txt", @file
        filePart2: "filename2.txt", @file
      }
    },
    res: {
      status: 200
    }
  }
}

Apitest 是声明式 api 测试工具,具有类似 JSON 的 DSL。

https://github.com/sigoden/apitest