5

मैं एक बहुत बड़े विजुअल स्टूडियो समाधान के लिए परीक्षणों को विकसित और व्यवस्थित करना शुरू कर रहा हूं। (हां, मुझे पता है कि प्रोजेक्ट लगभग पूरा होने के बजाय कोड के साथ परीक्षण विकसित किया जाना चाहिए था, लेकिन चीजें वे हैं जो हैं।)एक बड़े दृश्य स्टूडियो समाधान में यूनिट/एकीकरण परीक्षण संगठन

मैंने विजुअल स्टूडियो समाधानों में यूनिट परीक्षणों के आयोजन के बारे में समान प्रश्न देखे हैं , लेकिन मुझे कोई भी पता एकीकरण परीक्षण भी नहीं मिला। मैं टेस्ट प्रोजेक्ट्स कहां रखना है, इस बारे में कुछ मार्गदर्शन की सराहना करता हूं ताकि वे पहले से ही बड़े कोड बेस को अव्यवस्थित न करें।

यहां समाधान के भीतर चीजों का मूल पदानुक्रम है।

  • HardwareService1
    • HardwareService1.Core.proj
    • HardwareService1.Host.proj
    • (.proj में समाप्त होने वाले नहीं सभी आइटम एक परियोजना या समाधान फ़ोल्डर के भीतर फ़ोल्डर कर रहे हैं।)

      • HardwareServices हार्डवेयर सेवा 1.Service.proj
    • हार्डवेयर सेवा
      • HardwareService2.Core.proj
      • HardwareService2.Host.proj
      • HardwareService2.Service.proj
  • इंफ्रास्ट्रक्चर
    • MyApp.Database.proj
    • MyApp.Infrastructure .proj
    • MyApp.ReportViewer.proj
    • MyApp.SettingsManager.proj
  • appModules
    • AppModule1.proj
      • आम
      • रिपोर्ट
      • सेवाएं
      • ViewModels
      • दृश्य
    • AppModule2.proj (अन्य appModules के समान संरचना)
    • AppModule3.proj (अन्य appModules के समान संरचना)
  • मॉड्यूल
    • ComputeEngine.proj
    • Footer.proj
    • हेडर.proj
    • कॉमन सर्विसेज।proj

मेरे बारे में सोचा एक समाधान फ़ोल्डर "टेस्ट" कहा जाता है बनाने के लिए और फिर ऊपर पदानुक्रम की नकल, हर उत्पादन कोड परियोजना के लिए एक परीक्षण परियोजना बनाने था। प्रत्येक परीक्षण परियोजना के भीतर, मैं "यूनिटटेस्ट" और "इंटीग्रेशनटेस्ट" नामक फ़ोल्डर्स बनाउंगा।

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

आपके समय और सलाह के लिए धन्यवाद।

उत्तर

2

हमारी कंपनी ने अपना नामकरण सम्मेलन projectName.Tests.Unit और projectName.Tests.Integration का उपयोग किया था।

  • HardwareService1
    • HardwareService1.Core.proj
    • HardwareService1.Host.proj
    • HardwareService1.Service.proj
    • :

      अपने मौजूदा संरचना के साथ

      आप कुछ इस तरह होता है टेस्ट

      • हार्डवेयर सेवा 1। कोर .Tests.Unit
      • HardwareService1.Core.Tests.Integration

आप आप के रूप में फिर से पूरी संरचना की नकल करने की जरूरत नहीं है रूट फ़ोल्डर के साथ अपने परीक्षण फ़ोल्डर रखें परीक्षण संबंधित परियोजना के साथ सही हैं।

ओर टिप्पणी

एक लगातार हो रही इस परियोजना का नाम होने से Tests.Unit यह अपने निर्माण लिपि में इकाई परीक्षण चलाने में सहायता के रूप में आप **\*tests.unit*.dll

की तरह एक वाइल्ड कार्ड खोज के साथ परीक्षण चला सकते हैं मदद करता है दिन के अंत में, परियोजना संरचना बहुत ही व्यक्तिपरक हो सकती है, इसलिए अपने पर्यावरण में क्या समझ में आता है और आपकी टीम को समझ में आता है।

+0

यह वही तरीका है जिसे मैंने सुझाया है (परियोजना के साथ परीक्षण रखना)। मुझे अनुमान है कि उपरोक्त आपके उदाहरण में "टेस्ट" फ़ोल्डर के तहत हार्डवेयर हार्डवेयर सर्विसेज 1.Core.Tests.Unit.proj और HardwareServices1.Core.Tests.Integration.proj होगा, हां? – geoffmazeroff

+0

हां यह सही होगा यदि उन होस्ट/सेवा परियोजना को यूनिट/एकीकरण परीक्षण की आवश्यकता होगी। –

+0

धन्यवाद, @ मार्क। मुझे लगता है कि टीम बहुत परिचित है कि चीजें समाधान में कहां हैं, कोड के साथ परीक्षण रखने से उन्हें आसानी मिलती है। – geoffmazeroff

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