In my integration tests, I want to set a specific connection string when the test runs in a development environment, and another connection string when the test runs in the staging environment.
When I am not in testing mode, I simply set the environment variable on the machine, and all work OK. But on testing I can use UseEnvironment(envX)
, but then it'll be envX
on all machines, or not use this method, and get the default one (which is production).
So, how can I use multiple connection strings, environment based, in my integration tests?
If you use IHostingEnvironment
to check the environment in integration test code, then you may override value in IHostingEnvironment.EnvironmentName
:
//IHostingEnvironment env;
env.EnvironmentName = 'Development';
env.IsDevelopment() // return true;
env.EnvironmentName = 'TEST';
env.IsDevelopment() // return false;
env.IsEnvironment('TEST') // return true;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With