小编Muh*_*mad的帖子

测试ASP.NET Web API多部分表单数据文件上载

我正在尝试使用N-UNIT来测试我的Web API应用程序,但我无法找到一种正确的方法来测试我的文件上传方法.哪种方法是测试方法的最佳方法?

Web API控制器:

[AcceptVerbs("post")]
public async Task<HttpResponseMessage> Validate()
    {
        // Check if the request contains multipart/form-data.
        if (!Request.Content.IsMimeMultipartContent())
        {
            return Request.CreateErrorResponse(HttpStatusCode.UnsupportedMediaType,"please submit a valid request");
        }
        var provider = new MultipartMemoryStreamProvider(); // this loads the file into memory for later on processing 
        try
        {
            await Request.Content.ReadAsMultipartAsync(provider);
            var resp = new HttpResponseMessage(HttpStatusCode.OK);
            foreach (var item in provider.Contents)
            {
                if (item.Headers.ContentDisposition.FileName != null)
                {
                    Stream stream = item.ReadAsStreamAsync().Result;
        // do some stuff and return response
                    resp.Content = new StringContent(result, Encoding.UTF8, "application/xml"); …
Run Code Online (Sandbox Code Playgroud)

nunit unit-testing http-post asp.net-web-api

7
推荐指数
2
解决办法
7508
查看次数

标签 统计

asp.net-web-api ×1

http-post ×1

nunit ×1

unit-testing ×1