我正在为我的服务层创建单元测试。我使用下载的模板随附的现有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}}
答案 0 :(得分:0)
您不应定义要明确使用的语言。
要具有本地化上下文,您应该以用户身份登录。
答案 1 :(得分:0)
如果您没有在 AbpLanguages
表中定义任何语言,就会发生这种情况。示例 here。