将用户添加到该规则不起作用

时间:2013-05-23 17:23:31

标签: c# testing roleprovider

我有一个测试方法,用于测试用户是否添加到角色。 但我添加该角色的用户不起作用。有人可以解释我做错了吗?

 public override void AddUsersToRoles(string[] usernames, string[] roleNames)
    {
        try
        {
            Profile.MembershipMapper memberMapper = new Profile.MembershipMapper();
            memberMapper.AddUsersToRoles(_memberUtil.GetApplicationId(), usernames, roleNames);
        }
        catch (Exception ex)
        {
            throw new ProviderException("AddUsersToRoles", ex);
        }
    }

            string sRoleName = "TestRole";
            string sUsername = "test.user";//"testUserX"

            // Use a known user for relationships
            AsaMembershipProvider prov = this.GetMembershipProvider();
            MembershipUser user = prov.GetUser(sUsername, false);

            // Create a new role
            AsaRoleProvider roleProv = this.GetRoleProvider();
            roleProv.CreateRole(sRoleName);

            // Verify that role exists
            bool bRoleExists = roleProv.RoleExists(sRoleName);
            Assert.IsTrue(bRoleExists);

            // Add users to that role
            string[] usernames = new string[] { sUsername};
            string[] roleNames = new string[] { sRoleName };

            //Doesnt add user
            roleProv.AddUsersToRoles(usernames, roleNames);

1 个答案:

答案 0 :(得分:1)

您的代码不会按原样编译。

roleProv.AddUsersToRoles(usernames, roleNames);eNames); //syntax error probably

假设AddUsersToRoles有3个参数,请尝试:

roleProv.AddUsersToRoles(usernames, roleNames, eNames);

我在代码中没有看到定义了eNames,但我也假设你在这里只有一个基本的语法问题。

注意你的IDE。它可能会告诉你问题是什么。

此外,如果您只是搞砸了在这里复制代码,我们无法说明为什么AddUsersToRoles无法正常运行,因为您没有包含该代码。

将来,请包含相关代码。说“它不起作用”告诉我们你的问题。编译错误?运行时异常?出乎意料的行为?