2013-01-14 57 views
8

मैं एमएसटीएस्ट (वीएस -2008) का उपयोग कर रहा हूं और मुझे परीक्षणों के बीच एक चर को बनाए रखने की आवश्यकता है। हालांकि चर प्रत्येक परीक्षण के बीच फिर से शुरू हो जाता है।मैं एमएसटीएस्ट में परीक्षणों के बीच चर कैसे बना सकता हूं?

तीसरे this answer में उल्लेख किया बिंदु के अनुसार,

MSTest हमेशा एक परीक्षा पद्धति के लिए परीक्षण वर्ग का एक नया उदाहरण निष्पादित किया जा रहा को दर्शाता है।

क्या परीक्षण के बीच एक चर के मूल्य को रखने के लिए एक सीधा तरीका है, या किसी भी तरह से इस व्यवहार को दबाएं?

+2

क्यों आप ऐसा करना चाहते हैं ?? –

+0

क्या आप अपना कोड पोस्ट कर सकते हैं? आपका चर कहां घोषित किया गया है? – Schaliasos

+0

@StefanSteinegger मैं एकीकृत परीक्षण चला रहा हूं जिसमें एक तृतीय पक्ष REST API शामिल है - एक आइटम बनाना, एक उत्पन्न जेनरेट सर्वर-साइड पुनर्प्राप्त करना, फिर इसे किसी अन्य कॉल के लिए उपयोग करना। पूरी बात यह सोचने के लिए अनुचित लगता है कि उन्हें पूरी तरह कार्यात्मक सैंडबॉक्स मिला है। मुझे यकीन है कि ऐसा करने के लिए कई अन्य वैध कारण हैं। – Andrey

उत्तर

9

एक स्थिर सदस्य चर का उपयोग करें:

static int _test = 0; 

[TestMethod] 
public void __Test1() 
{ 
    _test += 1; 
    Assert.IsTrue(_test == 1); 
} 

[TestMethod] 
public void __Test2() 
{ 
    _test += 1; 
    Assert.IsTrue(_test == 2); 
} 
+0

पूरी तरह से काम करता है, धन्यवाद। – Andrey

+4

तकनीकी रूप से सही है, लेकिन _test == 2 जोर देना एक बहुत बुरा उदाहरण है। ए) यह अकेले चलते समय विफल रहता है बी) कोई गारंटी नहीं है कि परीक्षण एक निश्चित क्रम में चलाए जाते हैं c) आपको मूल्यों की तुलना करते समय Assert.AreEqual का उपयोग करना चाहिए। –

+1

@StefanSteinegger - निश्चित रूप से मान्य अंक। ओपी क्या मांग रहा है, यह हासिल करने के तरीके के रूप में निश्चित रूप से स्थैतिक चर के उपयोग पर ध्यान केंद्रित होना चाहिए। –