2016-03-01 35 views
4

下面是测试项目的launchSettings.json文件:集成测试期间与多个环境中工作与ASP.NET核心

{ 
    "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从哪里来?他们不会将测试项目显示为在本地有appsetting的副本,但我很确定Startup类(无论是重用还是本地)都需要它。请指教。

回答

8

您可以使用UseEnvironment方法。

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

0

使用.UseEnvironment( “发展”)将让您详细的错误信息和等