使用WireMoc下载文件

时间:2018-01-31 14:35:45

标签: unit-testing testing wiremock

我是WireMoc的新手。我如何使用WireMoc存根框架下载文件? 这就是我到目前为止所拥有的

     var stub = FluentMockServer.Start(new FluentMockServerSettings
        {
            Urls = new[] { "http://+:5001" },
            StartAdminInterface = true
        });

     stub.Given(
                Request.Create()
                    .WithPath("/myFile")
                    .UsingPost()
                    .WithBody("download file"))
            .RespondWith(Response.Create()
                .WithStatusCode(200)
                .WithHeader("Content-Type", "application/multipart")

1 个答案:

答案 0 :(得分:0)

你可以使用wiremock的bodyFile api

stubFor(get(urlEqualTo("/body-file"))
        .willReturn(aResponse()
                .withBodyFile("path/to/myfile.xml")));

然而

  

要从文件中读取正文内容,请将文件放在__files目录下。默认情况下,从JUnit规则运行时,应该在src / test / resources下。独立运行时,它将位于启动服务器的当前目录下。要使存根使用该文件,只需使用文件相对于__files的路径调用响应构建器上的bodyFile():

但您可以在使用

开始线索时设置自定义路径
wireMockServer = new WireMockServer(wireMockConfig().port(portNumber).usingFilesUnderClasspath("src/main/resources/"));

现在它将在/ src / main / resources / __ files /

中查找文件

以上信息的来源

http://wiremock.org/docs/stubbing/

https://github.com/tomakehurst/wiremock/issues/129