【问题标题】:301 (Moved Permanently) error ASP.NET Core integration tests and XUnit301(永久移动)错误 ASP.NET Core 集成测试和 XUnit
【发布时间】:2018-12-26 15:08:10
【问题描述】:

我有一个使用Microsoft.AspNetCore.TestHost 作为测试服务器的集成测试项目。

在我的本地开发机器上,当我在我的项目上运行 dotnet test 时,所有测试都通过了。我在我们的服务器上设置了一个 GitLab-CI 运行器,当我在该服务器上的同一个项目上运行“dotnet test”时,所有向 TestHost 发出 HTTP 请求的测试都失败并出现相同的错误:

Response status code does not indicate success: 301 (Moved Permanently).

测试设置:

_server = new TestServer(new WebHostBuilder().UseStartup(startup));
_client = _server.CreateClient();

失败测试示例:

_response = _client.GetAsync($"/api/inventory").Result;
var responseResult = _response.Content?.ReadAsStringAsync().Result;
_response.EnsureSuccessStatusCode();

测试在_response.EnsureSuccessStatusCode();失败

两台机器上都安装了相同且唯一的 .NETCore SDK (2.1.302) 版本。项目面向 .NETCoreApp v2.1。 IIS 仅使用默认网站在服务器上配置(无论如何,IIS 与 AspNetCore.TestHost 无关)。

【问题讨论】:

    标签: asp.net-core .net-core asp.net-core-2.0 asp.net-core-webapi asp.net-core-testhost


    【解决方案1】:

    我发现了问题。 ASPNETCORE_ENVIRONMENT 环境变量未在服务器上设置,因此测试选择了生产配置文件而不是开发配置文件,后者指定使用 HTTP 到 HTTPS 重定向。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-27
      • 1970-01-01
      • 2012-11-21
      • 2017-09-01
      • 2019-11-04
      • 2012-07-10
      • 1970-01-01
      • 2013-09-26
      相关资源
      最近更新 更多