2012-02-03 9 views
0

に見えない私はセージAnswermen REのアドバイスに従うことをしようとしている:、私TestInitializedクラスは私のテスト

 [TestInitialize()] 
     public void MyTestInitialize() 
     { 
      MessageClass target = new MessageClass(); 
     } 

. . . 

     [TestMethod()] 
     public void SetMessageTypeSubcodeTest() 
    ... 
      target.SetMessageTypeSubcode(AMessageTypeSubcode); // <- here 

...しかし、私は取得しています:TestInitializeメソッドに私のクラスのインスタンスを移動します"名前 'target'は現在のコンテキスト" "に存在しません。

「ターゲット」をテストメソッドに表示させるにはどうすればよいですか?

答えて

4

対象オブジェクトはローカルスコープで定義されています。他のクラスメソッドがそれにアクセスできるように、ローカル変数ではなくフィールドにします。明らかにされて、私の防衛のために、私は多分テストフレームワークは、「ターゲット」(結局、それはそこにその識別子を置いが)クラスを指摘していることを知るために舞台裏でいくつかの魔法をかけるだろうと思っているはず

class TestClass 
{ 
    MessageClass _target; 

    [TestInitialize()] 
    public void MyTestInitialize() 
    { 
     _target = new MessageClass(); 
    } 

    [TestMethod()] 
    public void SetMessageTypeSubcodeTest() 
    { 
     _target.SetMessageTypeSubcode(AMessageTypeSubcode); 
    } 
} 
+0

テスト中。 –

関連する問題