簡體   English   中英

測試asp.net成員資格提供程序的2個問題

[英]2 problems with testing asp.net membership provider

我創建了一個單元測試,以按名稱搜索用戶。 我有2個無法解決的問題。

  1. Assert.IsTrue(coll.Count == 2)不會對用戶進行應有的計數。 應該有2個用戶,並且只計數1。

  2. Assert.IsTrue(usernames.Contains("testUser")); 找不到應有的部分用戶名字符串。 有人可以告訴我我在做什么錯嗎?

這是我的代碼:

[TestMethod]
public void TestFindUsersByName()
{
    //set test to crate user 
    AsaMembershipProvider prov = this.GetMembershipProvider();
    MembershipCreateStatus status;
    //creates users
    MembershipUser user1 = prov.CreateUser("testUser1", "12345", "test.User1@abc.com", "", "", true, null, out status);
    MembershipUser user2 = prov.CreateUser("testUser2", "12345", "test.User2@abc.com", "", "", true, null, out status);

    //gets users
    user1 = prov.GetUser("testUser1", false); //not checking if user is online. Argument should be false. Not yet implemented 
    user2 = prov.GetUser("testUser2", false);

    int pageSize = 5;
    int pageIndex = 0;
    int totalRecords = 2;

    MembershipUserCollection coll = prov.FindUsersByName("testUser1", pageIndex, pageSize, out totalRecords);

    Assert.IsTrue(coll.Count == 2);

    List<string> usernames = new List<string>();

    foreach (MembershipUser user in coll)
    {
        usernames.Add(user.UserName);
    }

    Assert.AreNotEqual(usernames, null);
    Assert.IsTrue(usernames.Contains("testUser"));

    //Deletes Users
    prov.DeleteUser("testUser1", true);
    prov.DeleteUser("testUser2", true);

    //Tries to get users again
    user1 = prov.GetUser("testUser1", false);
    user2 = prov.GetUser("testUser2", false);

    //test that no users are returned
    Assert.AreEqual(null, user1);
    Assert.AreEqual(null, user2);

    }
  1. prov.FindUsersByName(“ testUser1” ...-應該是“ testUser”嗎?
  2. usernames.ToArray()== string [] {“ testUser1”,“ testUser2”}-它不包含“ testUser”

問題1:您正在兩個用戶的集合中尋找“ testUser1”。 您得到1而不是2,因為只有一個名為“ testUser1”的用戶

問題2:您正在搜索“ testUser”,而不是局部的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM