2013-04-03 32 views
8

Bir yönteme uygulanan AssemblyInitialize özniteliğine sahip soyut bir temel test sınıfım var. Ama asla idam edilmeyecek ... Soyut temel test sınıfı başka bir mecliste, çünkü genel bir uzantı için. Bunun nasıl çözüleceğine dair bir fikrin var mı?AssemblyInitialize türetilmiş sınıfta

cevap

5

Bu, gerçekleşiyor çünkü sizden test yapmıyorsanız, Assembly asla başlatılmaz.

[TestClass] 
public class UnitTest1 
{ 
    [AssemblyInitialize] 
    public static void AssemblyInitialize(TestContext testContext) 
    { 
     // call the base AssemblyInitialize 
     BaseTestProject.BaseTest.AssemblyInitialize(testContext); 
    } 

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

Aynı çözüm bir geçici çözüm olarak uygulandım. Teşekkürler! – mrtentje

5

deneyin önceden

kod

[TestClass] 
public abstract BaseTestClass 
{  
    [AssemblyInitialize] 
    public static void AssemblyInit(TestContext context) 
    { 
     //DoDomething 
    } 
} 

teşekkürler Testi Projesi miras olmadan ayrı bir sınıf uygulamak için:

[TestClass] 
public static class YourClass 
{ 
    [AssemblyInitialize] 
    public static void AssemblyInit(TestContext context) 
    { 
     //DoSomething 
    } 
} 

Bu

çağrılmalıdır.

3

vardı: Ben verebilir bir çözüm (belki bir aptal biri) diğer derlemeler AssemblyInitialize kullanabilir ve testler aşağıdaki kodu ekleyin içeren bir TestProject yılında üssü AssemblyInitialize

çağırmaktır Test temel sınıfını [TestClass] özniteliğiyle işaretlemediğimde aynı sorun.

İlgili konular