1

web.config でロール マネージャーを有効にしましたが、まだエラーが発生します。

System.Configuration.Provider.ProviderException : ロール マネージャー機能が有効になっていません。

私はnunitを使用しています。これが私のテスト方法です

[Test]
public void DownloadbloombergTest()
{
    if (!Roles.RoleExists("Admin"))
        Roles.CreateRole("Admin");
    if (!Roles.IsUserInRole(WebSecurity.CurrentUserName, "Admin"))
        Roles.AddUserToRole(WebSecurity.CurrentUserName, "Admin");    
    var controller = new DownloadBloombergController();
    var result = controller.DownloadBloomberg() as ViewResult;           
    Assert.IsInstanceOf<ViewResult>(result);
}

これは私のweb.configです

...
<system.web>


     <membership defaultProvider="SimpleMembershipProvider">
      <providers>
        <clear />
        <add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData" />
      </providers>
    </membership>
    <roleManager enabled="true" defaultProvider="SimpleRoleProvider">
      <providers>
        <clear />
        <add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData" />
      </providers>
    </roleManager>


    <customErrors mode="Off" />
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
    <authentication mode="Forms">
      <forms loginUrl="~/Login/Login" timeout="2880" />
    </authentication>
    <pages>
      <namespaces>
        <add namespace="System.Web.Helpers" />
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Optimization" />
        <add namespace="System.Web.Routing" />
        <add namespace="System.Web.WebPages" />
      </namespaces>
    </pages>
  </system.web>
...

nunit は行(メソッドの先頭)を指しています

 if (!Roles.RoleExists("Admin"))
4

1 に答える 1

0

Web.config ファイルをテスト クラス ライブラリにコピーし、名前を app.config に変更すると、問題が解決しました

于 2015-06-17T11:16:35.270 に答える