2012-04-02 6 views
5

मान लीजिए कि मैं टीडीडी का पालन कर रहा हूं और वीएस/रीशेपर का उपयोग कर रहा हूं। मैं इस तरह के एक परीक्षण लेखन से शुरू:विजुअल स्टूडियो/रीशेर्पर का उपयोग करते हुए टीडीडी का पालन करते समय मैं तुरंत सही जगह पर कक्षा कैसे बना सकता हूं?

[TestFixture] 
class FooFixture 
{ 
    [Test] 
    public void ShouldDoSomething() 
    { 
     var foo = new Foo(); 
    } 
} 

इस बिंदु पर, Foo मौजूद नहीं है। ReSharper कक्षा बनाने का विकल्प सुझाता है, लेकिन यह मेरे परीक्षण प्रोजेक्ट में मेरी टेस्ट क्लास के ठीक आगे रखता है, न कि मेरे असली प्रोजेक्ट में। तो मैंने इसे कक्षा बना दिया है, फिर इसे एक नई फ़ाइल में ले जाएं, फिर फ़ाइल को सही जगह पर ले जाएं, और अंत में नामस्थान को ठीक करें। यह बहुत काम की तरह लगता है।

क्या Foo कक्षा को त्वरित रूप से बनाने और इसे सही जगह पर रखने का एक और अधिक प्रभावी तरीका है? ऐसा लगता है कि 'सही जगह' को मेरी टेस्ट प्रोजेक्ट के नामस्थान से अनुमान लगाया जा सकता है।

+1

Alt + त्वरित फिक्स के लिए दर्ज करें, फ़ोल्डर में स्थानांतरित करने के लिए सी + एस + आर .. – Gishu

उत्तर

4

Move types into matching class इस उद्देश्य के लिए रीफैक्टरिंग का उपयोग किया जाता है।

आपको वर्तमान परीक्षण कक्षा में कई व्यावसायिक तर्क प्रकार उत्पन्न करने की उम्मीद है और फिर उन्हें एक ही समय में मिलान करने वाली फ़ाइलों/नामस्थानों में स्थानांतरित करने की उम्मीद है।

ध्यान दें कि यह रिफैक्टरिंग टेक्स्ट एडिटर और सॉल्यूशन एक्सप्लोरर नोड्स पर उपलब्ध है, जिसका अर्थ है कि आप इसे बहुत सारी फाइलों पर बैच-लागू कर सकते हैं।

+1

यह समस्या का हिस्सा हल करता है, जिसमें यह अलग-अलग फाइलें बनाता है। यह कक्षाओं को सही परियोजना में स्थानांतरित नहीं करता है। –

+1

दाएं। फ़ोल्डर में भी ले जाया गया है। [यह वीडियो] (http://tv.jetbrains.net/videocontent/refactor-on-the-project-level) दिखाता है कि इस कॉम्बो का उपयोग कैसे किया जाता है – gorohoroh

+0

बहुत अच्छा, धन्यवाद –

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