我有一个添加了 [Authorize] 属性的 Web API,这意味着我之前的单元测试现在由于未经授权而失败。这是一个基本测试的示例以及一个初始化方法:
[TestInitialize]
public void CreateServer() {
var config = new HttpConfiguration();
WebApiConfig.Configure(config); // Create the routes
var server = new HttpServer(config);
this.client = new HttpClient(server);
}
[TestMethod]
public void MyThings_GET_Returns_All_MyThings() {
var response = this.client.GetAsync("http://localhost/api/1.0/mythings").Result;
var mythings = response.Content.ReadAsAsync<IEnumerable<MyThing>>().Result;
Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
Assert.AreEqual(4, mythings.Count());
}
我想知道是否有任何方法可以让我的测试登录以便它通过授权过滤器,或者是否有任何方法可以作为 ASPXAUTH cookie 与 HttpClient 请求一起传递?还是我没有想到的另一种通过授权的方式?
我尝试过的任何方法似乎都不起作用,而且我很难在任何地方找到任何有用的信息。
提前致谢。