【问题标题】:aspnet zero - replace IPermissionChecker for Test Moduleaspnet zero - 替换测试模块的 IPermissionChecker
【发布时间】:2017-06-29 15:03:10
【问题描述】:

我正在为使用不同 DbContext 的应用程序服务创建另一个测试模块。

有没有办法绕过单元测试中应用服务的权限检查?

我试过了

Configuration.ReplaceService<IPermissionChecker, NullPermissionChecker>(DependencyLifeStyle.Transient);

在测试模块 PreInitialize() 中,但它仍在检查权限。

请帮忙!谢谢!

【问题讨论】:

  • 尝试 IocManager.RegisterIfNot(DependencyLifeStyle.Singleton);

标签: unit-testing dependency-injection aspnetboilerplate


【解决方案1】:

services.AddAbpIdentity 再次替换 IPermissionChecker。您可以在services.AddAbpIdentity 之后使用AddPermissionChecker&lt;NullPermissionChecker&gt; 扩展方法。

对于 AspNet Zero,它位于 IdentityRegistrar 类中。示例(添加最后一行):

services.AddAbpIdentity<Tenant, User, Role>(options =>
    {
        ...
    })
    ...
    .AddPermissionChecker<NullPermissionChecker>();

请注意:您可能希望将此设置为有条件的并仅适用于单元测试。

【讨论】:

  • 谢谢!我已经为模块创建了配置以使其成为条件。
猜你喜欢
  • 2018-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-11
  • 1970-01-01
  • 2013-04-09
  • 1970-01-01
相关资源
最近更新 更多