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 に答える