diff --git a/framework/test/Volo.Abp.Core.Tests/Volo/Abp/AbpApplication_Initialize_Tests.cs b/framework/test/Volo.Abp.Core.Tests/Volo/Abp/AbpApplication_Initialize_Tests.cs index cf54b1492a..f910517bbc 100644 --- a/framework/test/Volo.Abp.Core.Tests/Volo/Abp/AbpApplication_Initialize_Tests.cs +++ b/framework/test/Volo.Abp.Core.Tests/Volo/Abp/AbpApplication_Initialize_Tests.cs @@ -4,6 +4,7 @@ using System.Reflection; using System.Threading.Tasks; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; using NSubstitute; using Shouldly; using Volo.Abp.DependencyInjection; @@ -204,6 +205,37 @@ public class AbpApplication_Initialize_Tests } } + [Fact] + public void Should_Set_And_Get_Environment() + { + // Default environment is Production + using (var application = AbpApplicationFactory.Create()) + { + var abpHostEnvironment = application.Services.GetSingletonInstance(); + abpHostEnvironment.EnvironmentName.ShouldBe(Environments.Production); + + application.Initialize(); + + abpHostEnvironment = application.ServiceProvider.GetRequiredService(); + abpHostEnvironment.EnvironmentName.ShouldBe(Environments.Production); + } + + // Set environment + using (var application = AbpApplicationFactory.Create(options => + { + options.Environment = Environments.Staging; + })) + { + var abpHostEnvironment = application.Services.GetSingletonInstance(); + abpHostEnvironment.EnvironmentName.ShouldBe(Environments.Staging); + + application.Initialize(); + + abpHostEnvironment = application.ServiceProvider.GetRequiredService(); + abpHostEnvironment.EnvironmentName.ShouldBe(Environments.Staging); + } + } + [Fact] public async Task Should_Resolve_Root_Service_Provider() {