2010-06-16 19 views
5

पर विभिन्न स्थानों में DeploymentItem नकल फ़ाइलें मैं ने पाया है कि DeploymentItemMSTest VS2010 - विभिन्न मशीनों

[TestClass(), DeploymentItem(@"TestData\")] 

एक ही स्थान पर अपने परीक्षण डेटा फ़ाइलों को कॉपी नहीं है जब परीक्षण निर्माण कर रहे हैं और विभिन्न मशीनों पर चलाते हैं।

परीक्षण डेटा फ़ाइलों को मेरी मशीन पर परीक्षण परियोजना में "बिन \ डिबग" निर्देशिका को कॉपी कर रहे हैं, लेकिन मेरे दोस्त की मशीन पर वे "TestResults \ name_machine YY-MM-DD HH_MM_SS \ आउट" करने के लिए कॉपी कर रहे हैं ।

string appDirectory = 
Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); 

और एक ही कोड अपने दोस्तों पीसी पर TestResults\*name_machine YY-MM-DD HH_MM_SS*\Out वापस आ जाएगी:

मेरी मशीन पर बिन \ डिबग निर्देशिका कोड के साथ प्राप्त किया जा सकता।

हालांकि यह वास्तव में समस्या नहीं है। समस्या यह है कि मेरे द्वारा बनाई गई टेस्ट डेटा फ़ाइलों में फ़ोल्डर संरचना होती है, और यह फ़ोल्डर संरचना केवल मेरी मशीन पर रखी जाती है जब bin \ debug पर प्रतिलिपि बनाई जाती है, जबकि मेरे दोस्तों की मशीन पर केवल TestResults\*name_machine YY-MM-DD HH_MM_SS*\Out निर्देशिका में फ़ाइलें जोड़ दी जाती हैं। इसका मतलब है कि परीक्षण मेरी मशीन पर गुजरेंगे और उसके असफल हो जाएंगे!

क्या यह सुनिश्चित करने का कोई तरीका है कि परिनियोजन Item हमेशा bin \ debug फ़ोल्डर में प्रतिलिपि बनाता है? या यह सुनिश्चित करने का एक तरीका है कि फ़ोल्डर संरचना को बनाए रखा जाएगा जब परिनियोजन Item फ़ाइलों को TestResults\*name_machine YY-MM-DD HH_MM_SS*\Out फ़ोल्डर में कॉपी करता है?

उत्तर

2

थोड़ी देर के लिए चारों ओर खेलने के बाद, यह सुनिश्चित करना है कि हर उप निर्देशिका के लिए, आप एक नया DeploymentItem सुनिश्चित करें कि आप "outputDirectory" निर्दिष्ट कर रही है, तो जैसे जोड़ने है से निपटने के लिए सबसे अच्छा तरीका है की तरह लग रहा:

[TestClass(), DeploymentItem("TestData\\", "TestData"), 
DeploymentItem(@"TestData\\SubDir\\", "TestData\\SubDir")] 

यह आपके मशीन पर परीक्षण चलाने की अनुमति देता है - उम्मीद है कि इससे किसी की मदद मिलती है!

+0

इसने मेरी सापेक्ष पथ समस्या को हल किया। मुझे subfolders और app.config फ़ाइल में परिभाषित सापेक्ष पथों में संग्रहीत फ़ाइलों के साथ एक ही समस्या थी। Thx –

+1

'परिनियोजन इटिम' विशेषता केवल लक्ष्य विधियों को लक्षित करती है। आप क्या लिख ​​रहे हैं बिल्कुल काम कर रहे हैं? –

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