如何在WebAPI单元测试中传递标头值

时间:2017-03-21 11:55:50

标签: c# unit-testing asp.net-web-api http-headers

在API Controller中,它获取HttpContextRequest标头以获取访问令牌。当我使用UnitTest时,我将如何将access_token值传递给控制器​​操作。请帮忙。

var _access_token = HttpContext.Current.Request.Headers["access_token"];

1 个答案:

答案 0 :(得分:0)

你可以这样写,

//Arrange
var client = new HttpClient { BaseAddress = new Uri("http://localhost:55442/") 
                            };
client.DefaultRequestHeaders.Add("access_token", "YWtoaWw6YWtoaWw=");
Employee emp = new Employee {
            Id=1,
            name = "Test Name",
            salary = "2000"
        };
//Act
var _response = 
client.PostAsJsonAsync(client.BaseAddress +"/"+ "myController"+ "/"+ 
                       "methodName",emp).Result;

//Assert
Assert.IsTrue(true);

干杯...