2017-06-29 35 views
0

我正在爲使用不同的DbContext的應用程序服務創建另一個測試模塊。aspnet zero - 替換測試模塊的IPermissionChecker

有什麼辦法可以繞過單元測試中應用程序服務的權限檢查嗎?

我已經試過

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

在測試模塊預初始化(),但它仍然是檢查的權限。

請幫忙!謝謝!

+0

嘗試 IocManager.RegisterIfNot (DependencyLifeStyle.Singleton); –

回答

0

services.AddAbpIdentity再次替換IPermissionChecker。您可以在services.AddAbpIdentity之後使用AddPermissionChecker<NullPermissionChecker>擴展方法。

對於AspNet Zero,它在IdentityRegistrar類中。示例(添加最後一行):

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

請注意:您可能希望使此條件適用於單元測試。

+0

謝謝!我已經爲模塊創建了配置來使這個條件。 – siawkz