在我的集成测试中,我想在测试在开发环境中运行时设置一个特定的连接字符串,而在测试在暂存环境中运行时设置另一个连接字符串。
当我不处于测试模式时,我只需在计算机上设置环境变量,然后一切正常。但是在测试中,我可以使用UseEnvironment(envX)
,但是在所有计算机上它都将是envX
,或者不使用此方法,并获得默认值(即生产状态)。
所以,在集成测试中如何使用基于环境的多个连接字符串?
SET ASPNETCORE_ENVIRONMENT=Test
和SET ASPNETCORE_ENVIRONMENT=SomeOtherEnvironment
//IHostingEnvironment env;
env.EnvironmentName = 'Development';
env.IsDevelopment() // return true;
env.EnvironmentName = 'TEST';
env.IsDevelopment() // return false;
env.IsEnvironment('TEST') // return true;
$env:ASPNETCORE_ENVIRONMENT="test"
dotnet test