【问题标题】:Working with multiple environments during integration testing with ASP.NET Core在使用 ASP.NET Core 进行集成测试期间使用多个环境
【发布时间】:2016-03-01 22:14:59
【问题描述】:

这是测试项目的 launchSettings.json 文件:

{
  "profiles": {
    "test": {
      "commandName": "test",
      "environmentVariables": {
        "Hosting:Environment": "Development"
      }
    }
  }
}

测试项目对服务端项目有依赖,直接使用服务端项目的Startup类初始化测试,如下:

Server = new TestServer(TestServer.CreateBuilder().UseStartup<Startup>());
Client = Server.CreateClient();

然而由于某种原因,当我在调试器中输入Startup.Configure 方法时,env.EnvironmentName 是生产。我应该在哪里设置测试 .xproj 的环境名称?

在相关说明中,我是否应该在测试项目中拥有 Startup 类的本地测试版本? The docs 似乎另有建议...... appsettings 来自哪里?他们没有将测试项目显示为在本地拥有 appsettings 的副本,但我很确定 Startup 类(无论是重用的还是本地的)都需要它。请指教。

【问题讨论】:

    标签: visual-studio-2015 asp.net-core dnx xunit


    【解决方案1】:

    您可以使用 UseEnvironment 方法。

    Server = new TestServer(TestServer.CreateBuilder().UseEnvironment("Testing").UseStartup<Startup>());

    【讨论】:

      【解决方案2】:

      使用 .UseEnvironment("Development") 将为您提供详细的错误消息等

      【讨论】:

        猜你喜欢
        • 2022-06-16
        • 2021-06-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-28
        • 2022-01-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多