Unit testing aspnet zero-更换测试模块的IPermissionChecker

Unit testing aspnet zero-更换测试模块的IPermissionChecker,unit-testing,dependency-injection,aspnetboilerplate,Unit Testing,Dependency Injection,Aspnetboilerplate,我正在为使用不同DbContext的应用程序服务创建另一个测试模块 在单元测试中有没有办法绕过应用程序服务的权限检查 我试过了 Configuration.ReplaceService<IPermissionChecker, NullPermissionChecker>(DependencyLifeStyle.Transient); Configuration.ReplaceService(DependencyLifeStyle.Transient); 在测试模块PreIniti

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

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

我试过了

Configuration.ReplaceService<IPermissionChecker, NullPermissionChecker>(DependencyLifeStyle.Transient);
Configuration.ReplaceService(DependencyLifeStyle.Transient);
在测试模块PreInitialize()中,但它仍在检查权限


请帮忙!谢谢大家!

服务。AddAbpIdentity
再次替换IPermissionChecker。您可以在
services.AddAbpIdentity
之后使用
AddPermissionChecker
扩展方法

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

services.AddAbpIdentity(选项=>
{
...
})
...
.AddPermissionChecker();

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

尝试IocManager.RegisterIfNot(DependencyLifeStyle.Singleton);谢谢我已经为模块创建了配置,使其具有条件。
services.AddAbpIdentity<Tenant, User, Role>(options =>
    {
        ...
    })
    ...
    .AddPermissionChecker<NullPermissionChecker>();