【发布时间】:2018-09-21 19:02:10
【问题描述】:
最近,我想出了用于检查我的 ASP.NET Core 2.1 应用程序的一些重定向规则的单元测试:
[Fact(DisplayName = "lowercase path")]
public async Task LowercaseRedirect()
{
var result = await this.Client.GetAsync("/BLOG/");
Assert.EndsWith("/blog/", result.RequestMessage.RequestUri.PathAndQuery, StringComparison.InvariantCulture);
}
[Fact(DisplayName = "add missing slash")]
public async Task SlashRedirect()
{
var result = await this.Client.GetAsync("/blog");
Assert.EndsWith("/blog/", result.RequestMessage.RequestUri.PathAndQuery, StringComparison.InvariantCulture);
}
仅供参考:我目前正在将WebApplicationFactory<TEntryPoint> 注入我的测试类,我用它来创建我的HttpClient。
但现在我很好奇如何检查 https 重定向是否有效。任何想法如何做到这一点?在此先感谢:)
【问题讨论】:
-
您应该禁用httpclient的自动重定向功能,然后在响应头中测试Location值
标签: c# unit-testing asp.net-core dotnet-httpclient asp.net-core-2.1