在使用 ASP.NET Core 进行集成测试期间使用多个环境



这是测试项目的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 类的本地测试版本?文档似乎另有建议...应用程序设置从何而来?他们不会将测试项目显示为在本地具有appsettings的副本,但我很确定Startup类(无论是重用还是本地)都需要它。请指教。

您可以使用 UseEnvironment 方法。

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

使用 .使用环境("开发")将为您提供详细的错误消息等

相关内容

  • 没有找到相关文章

最新更新