2012-08-30 2 views
6

特定のテスト方法のテストデータをfunctionと同じ名前のフォルダに保存します。私は以前、それぞれ[TestMethod]ClearAllAndLoadTestMethodData()の同じ関数呼び出しを持っていて、メソッド名はStackTraceで決まりました。さて、私はこの機能を[TestInitialize]に移しました。どのように実行しようとしているメソッドの名前を見つけることができますか?MS TestInitializeで実行する次のテスト方法を確認してください

私はTestContextと考えていました。私は[AssemblyInitialize()]経由でそれにアクセスし、そのプロパティを最初に実行しますNameはtestmethodの名前に設定されています。ただし、後でこれは変更されません(静的フィールドにオブジェクトを保存する場合)。

答えて

18

AssemblyInitializeメソッドは、すべてのテストの前に一度だけ実行されます。

使用TestInitializeメソッド内TestContext

[TestClass] 
public class TestClass 
{ 
    [TestInitialize] 
    public void TestIntialize() 
    { 
     string testMethodName = TestContext.TestName; 
    } 

    [TestMethod] 
    public void TestMethod() 
    { 
    } 

    public TestContext TestContext { get; set; } 
} 
+3

はたくさんありがとうございました。私は財産を宣言しなければならないことを知らなかった。 – majkinetor

+0

あなたは大歓迎です。 – Schaliasos

+0

私はこの機能を探していて、この素晴らしい答えに遭遇しました。ありがとう。 – Pieter21

関連する問題