这是测试项目的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的副本,但我非常确定Startup
类(无论是重用还是本地)都需要它。请指教。
答案 0 :(得分:8)
您可以使用UseEnvironment方法。
Server = new TestServer(TestServer.CreateBuilder().UseEnvironment("Testing").UseStartup<Startup>());
答案 1 :(得分:0)
使用.UseEnvironment(“开发”)将为您提供详细的错误消息等