如何定义在单元测试执行期间使用的Abp语言?

时间:2018-06-21 05:13:09

标签: aspnetboilerplate

我正在为我的服务层创建单元测试。我使用下载的模板随附的现有UserAppService_Tests测试作为指南。

但是我看到抛出此异常。

Abp.AbpException : No language defined!

我的测试从GpTestBase继承,而AbpIntegratedTestBase<GpTestModule>则从 public override void PreInitialize() { Configuration.UnitOfWork.Timeout = TimeSpan.FromMinutes(30); Configuration.UnitOfWork.IsTransactional = false; // Disable static mapper usage since it breaks unit tests (see https://github.com/aspnetboilerplate/aspnetboilerplate/issues/2052) Configuration.Modules.AbpAutoMapper().UseStaticMapper = false; Configuration.BackgroundJobs.IsJobExecutionEnabled = false; // Use database for language management Configuration.Modules.Zero().LanguageManagement.EnableDbLocalization(); RegisterFakeService<AbpZeroDbMigrator<GpDbContext>>(); Configuration.ReplaceService<IEmailSender, NullEmailSender>(DependencyLifeStyle.Transient); } 继承

GpTestModule具有:

Configuration.Modules.Zero()。LanguageManagement.EnableDbLocalization();

所以我认为应该没事。

有任何线索吗?

{{1}}

2 个答案:

答案 0 :(得分:0)

您不应定义要明确使用的语言。

要具有本地化上下文,您应该以用户身份登录

答案 1 :(得分:0)

如果您没有在 AbpLanguages 表中定义任何语言,就会发生这种情况。示例 here

enter image description here