2012-08-30 18 views
6

'da yürütülecek bir sonraki test yöntemini bulun. Test verilerini, işlevle aynı adlı klasörde belirli bir test yöntemi için saklıyorum. Daha önce StackTrace aracılığıyla yöntem adını belirleyen her [TestMethod], ClearAllAndLoadTestMethodData() aynı işlev çağrısı vardı. Şimdi bu işlevi [TestInitialize]'a taşıdım. Yürütülecek olan yöntemin adını nasıl bulabilirim?MS TestInitialize

Bu, TestContext'un bunu sağladığını düşündüm. [AssemblyInitialize()] aracılığıyla ona erişimim var ve ilk çalıştırıldığında mülkiyeti Name testishod adına ayarlandı. Ancak, daha sonra bu değişmez (nesneyi statik alana kaydedersem).

cevap

18

AssemblyInitialize yöntemi, tüm testlerden önce yalnızca bir kez yürütülür.

Kullanım TestInitialize yöntemi içinde TestContext:

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

    [TestMethod] 
    public void TestMethod() 
    { 
    } 

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

Çok teşekkür ederim. Özelliği bildirmem gerektiğini bilmiyordum. – majkinetor

+0

Rica ederim. – Schaliasos

+0

Bu özelliği arıyordum ve bu harika cevabı buldum. Teşekkürler. – Pieter21