2009-12-02 13 views
8

में रनटाइम के दौरान गतिशील रूप से यूनिट परीक्षण विधियां बनाएं MSTest में SuiteBuilder के बराबर है? अब तक कोई नहीं मिला।एमएसटीएस्ट

मेरे पास एक्सएमएल फाइलों का एक गुच्छा है, प्रत्येक को परीक्षण विधि में मैप किए जाने के रूप में देखा जाना चाहिए। चूंकि इनमें से 100 हैं और इनमें से प्रत्येक के लिए मैन्युअल रूप से परीक्षण लिखना, एक अच्छा विचार नहीं है।

तो नूनिट में आप आईएसयूइटबिल्डर को कार्यान्वित कर सकते हैं और टेस्ट केस गतिशील रूप से चल सकते हैं और उन कई परीक्षण विधियों के रूप में दिखाए जा सकते हैं।

मैं एमएसटीएस्ट में एक ही काम करने का एक तरीका ढूंढ रहा हूं।

मैंने डेटासोर्स विशेषता को देखा है, लेकिन यह टेस्ट विधियों के 100s लिखने के लिए मजबूर करने के लिए 1 डेटासोर्स xml फ़ाइल/सीएसवी प्रति परीक्षण विधि को पूरा करता है। मैं प्रत्येक एक्सएमएल फ़ाइल को अलग रखना चाहता हूं और उन्हें सभी को 1 विशाल फ़ाइल में नहीं जोड़ना चाहता, इस मामले में यह असंभव हो जाएगा।

क्या किसी ने इसका प्रयास किया है या कोई सुझाव है?

उत्तर

2

बिल्कुल वही नहीं जो आपने पूछा था, लेकिन आप pex स्वचालित और parametrizable सफेद बॉक्स परीक्षणों के लिए उपयोग कर सकते हैं। इस तरह, आपको उन सभी चीजों को मैन्युअल रूप से करने की आवश्यकता नहीं है। Pex एमएसटीएस्ट के साथ ही NUnit का समर्थन करता है। जेनरेटेड टेस्ट एक अतिरिक्त फ़ाइल का उपयोग करते हैं, आपको किसी भी एक्सएमएल फाइलों की आवश्यकता नहीं है।

लेकिन मुझे लगता है कि आप आसानी से अपने मौजूदा .xml फ़ाइलों का उपयोग NUnit से नहीं कर सकते हैं और उन्हें पीएक्स का उपयोग करके एमएसटीएस्ट के साथ साझा कर सकते हैं - यदि आप यही चाहते हैं।

1

मैंने इसे पहले से ही किया है। यहाँ आप क्या करने की जरूरत क्या है:

टेस्ट:

[TestMethod] 
[DeploymentItem("MyTestData")] 
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", 
        "|DataDirectory|\\MyTestData.xml", 
        "Test", 
        DataAccessMethod.Sequential)] 
public void MyTest() 
{ 
    string file = TestContext.DataRow[0].ToString(); 
    string expectedResult = TestContext.DataRow[1].ToString(); 
     // TODO: Test something 
} 

MyTestData.xml:

<?xml version="1.0" encoding="utf-8" ?> 
<Rows> 
    <Test> 
    <File>test1.xml</File> 
    <Result>1</Result> 
    </Test> 
    <Test> 
    <File>test2.xml</File> 
    <Result>2</Result> 
    </Test> 
</Rows> 

test1.xml और test2.xml MyTestData निर्देशिका में मौजूद होना चाहिए।

+0

डाउनवोट क्यों? – frast

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