0

我使用 c# 创建了一个 asp.net 4.0 Web 应用程序。我有一个使用全局变量的类。我已经在 Page_Load 方法中设置了这个变量的值并在其他函数中访问。

现在我想创建该函数的测试用例。我想知道如何在使用 nunit 在测试用例中调用该函数之前设置该全局变量的值。

这是我的代码:

public string userId = "";   
protected void Page_Load(object sender, EventArgs e)  
{  
    userId = Membership.GetUser().ProviderUserKey.ToString();

//some code here

}

public bool IsEntryExist()  
{   
   string query="SELECT COUNT(*) FROM table WHERE user_id = '"+userId+"'";    

   bool Exist = Convert.ToBoolean(db.SelectScaler(query));   
}

在这里,我在 nunit 中创建了一个测试用例。

[TestFixture]
public class Testing
{
   [Test]
   public void TestUser()
   {
      Assert.IsTrue(IsEntryExist())
   }
}

如何设置 UserId 的值?

4

2 回答 2

1
[Test]
public void TestUser()
{
    MyClass myClass = new MyClass();
    MyClass.userid = "test value";
    Assert.IsTrue(IsEntryExist())
}
于 2013-09-27T08:08:35.750 回答
0

首先,您没有使用全局变量。您正在使用成员变量。

其次,将此代码移动到其他包含方法的类可能会更好

public bool IsEntryExist(int id)

比测试它更容易。而且您不需要在单元测试中实例化 ASP.NET Page 类,这有点奇怪。

于 2013-09-30T20:31:04.240 回答