2013-04-03 12 views
8

में प्रारंभ करें मेरे पास एक सार आधार परीक्षण कक्षा है जिसमें एक विधि पर लागू AssemblyInitialize विशेषता है। लेकिन इसे कभी निष्पादित नहीं किया जाएगा ... सार आधार परीक्षण वर्ग एक और असेंबली में है क्योंकि यह एक सामान्य विस्तार के लिए है। इसे हल करने का कोई उपाय?असेंबली व्युत्पन्न कक्षा

कोड

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

अग्रिम

उत्तर

5

ऐसा इसलिए हो रहा है क्योंकि यदि आप इससे परीक्षण नहीं करते हैं तो विधानसभा कभी शुरू नहीं होती है।

[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

वही समाधान जो मैंने कामकाज के रूप में लागू किया था। धन्यवाद! – mrtentje

5

कोशिश धन्यवाद अपने टेस्ट परियोजना में भाग बिना एक अलग वर्ग को लागू करने:

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

यह कहा जाना चाहिए।

3

मैं था: एक समाधान मैं दे सकता है (शायद एक मूर्ख एक) अन्य विधानसभाओं पर AssemblyInitialize का उपयोग करें और आधार AssemblyInitialize

फोन एक TestProject में शामिल है जो परीक्षण निम्नलिखित कोड जोड़ने के लिए है एक ही समस्या जब मैंने परीक्षण बेस क्लास को [TestClass] विशेषता के साथ चिह्नित नहीं किया था।

संबंधित मुद्दे