2008-09-17 21 views
14

.NET (या किसी अन्य भाषा या प्लेटफ़ॉर्म) में नामांकन परीक्षण-असेंबली के सर्वोत्तम सम्मेलन क्या हैं?.NET परीक्षण नामकरण सम्मेलन

मैं मुख्य रूप से क्या विभाजित कर रहा हूँ के बीच हैं इन विकल्पों (दूसरों प्रदान करें!):

  • Company.Website - परियोजना
  • Company.Website.Tests

या

  • Company.Website
  • Company.WebsiteTests

पहले समाधान के साथ समस्या यह है कि ऐसा लगता है कि .Tests है, जबकि वे वास्तव में अधिक कर रहे हैं साइट के लिए एक उप-नाम स्थान हैं मेरे दिमाग में समानांतर। क्या होता है जब एक नया सब-नेमस्पेस खेलता है, जैसे Company.Website.Controls, उदाहरण के लिए, मुझे उस नामस्थान के लिए परीक्षण कहां रखना चाहिए?

शायद यह भी होना चाहिए: Tests.Company.Website और Tests.Company.Website.Controls, और इतने पर।

+2

यह क्यों बंद है? सभी 'राय-आधारित' उत्तर अभी भी एक उत्तर है जहां उपयोगकर्ता विकल्पों की एक सूची देख सकते हैं और चुन सकते हैं कि वे क्या महसूस करते हैं उनके लिए सबसे अच्छा है। –

उत्तर

18

मैं कम कारण

* Company.Website - the project 
* Company.Website.Tests 

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

यदि आप समाधान में कोड और परीक्षण को विभाजित करना चाहते हैं तो आपके पास वैसे भी विकल्प है। जैसे आप

-Code फ़ोल्डर

  • Company.Website

-Tests फ़ोल्डर

  • Company.Website.Tests
+5

इसके अलावा आपको कंपनी के लिए उपयोग करने की आवश्यकता नहीं है। वेबसाईट नेमस्पेस मार्ग। –

13

मैं व्यक्तिगत रूप से साथ

Company.Tests.Website

इस तरह आप एक आम परीक्षण नाम स्थान और इसके अंदर परियोजनाओं जाना होगा, वास्तविक परियोजना के रूप में एक ही संरचना निम्नलिखित।

7

मेरे पास वास्तव में एक वैकल्पिक समांतर रूट है।

Tests.Company.Website

यह चीजें disambiguating आप नए उप नामस्थान है जब के लिए अच्छी तरह से काम करता है।

+4

डाउनवोट क्यों? क्या आलोचक उस पर विस्तृत हो सकता है? यह किसी भी अन्य प्रस्तावित समाधान के रूप में अच्छा है - और एक अच्छा मुद्दा है। –

+0

हालांकि यह संदर्भित नामस्थानों के साथ समस्याएं पैदा करता है। यह कभी-कभी सिरदर्द का थोड़ा सा हिस्सा है, क्योंकि मैं इसे करने के सुझाव के लिए एसओ क्यों खोज रहा हूं .. (मैंने वोट नहीं दिया) – ppumkin

0

मैं आमतौर पर परीक्षण परियोजनाओं परियोजना टेस्ट समाधान Explorer में संक्षिप्तता के लिए नाम दें, और मैं नामस्थान के लिए Company.Namespace.Tests का उपयोग

Company.Tests.Website.xxx

Company.Tests.Website.Controls

आप की तरह:

5

मैं इस तरह परीक्षण नाम स्थान की संरचना का एक बड़ा प्रशंसक हूँ , मैं मुख्य कोड में समांतर नामस्थान संरचना के रूप में परीक्षणों के बारे में सोचता हूं और यह आपको इसके साथ प्रदान करता है।यह भी लाभ यह है कि, के बाद से नाम स्थान अभी भी अपनी कंपनी के नाम के साथ शुरू होता आप 3 पार्टी पुस्तकालयों

0

साथ किसी नाम टकराव मैं साथ जाने के लिए पसंद करते हैं नहीं होना चाहिए है:

Company.Website.Tests

मुझे कंपनी.Website.Controls जैसे किसी भी उप-नामस्थान की परवाह नहीं है, सभी परीक्षण एक ही नामस्थान में जाते हैं: Company.Website.Tests। आप नहीं चाहते हैं कि आपके टेस्ट नेमस्पेस को आपके शेष कोड के साथ पैरारल में होना चाहिए क्योंकि यह केवल दो बार ले जाने वाले नामस्थान को रीफैक्टरिंग करता है।

0

मैं Company.Website.Spec पसंद करते हैं और आम तौर पर समाधान

0

प्रति एक परीक्षण परियोजना है हम एक एम्बेडेड दृष्टिकोण का पालन करें:

Company.Namespace.Test 
Company.Namespace.Data.Test 

इस तरह परीक्षण कोड है कि परीक्षण किया जा रहा के करीब हैं, परियोजनाओं के बीच आगे और पीछे टॉगल किए बिना या संदर्भों का शिकार करने के लिए यह सुनिश्चित करने के लिए कि एक विशेष विधि को कवर करने वाला परीक्षण है। हमें दो अलग-अलग, लेकिन समान, पदानुक्रमों को भी बनाए रखने की आवश्यकता नहीं है।

हम कोड के विशिष्ट हिस्सों का परीक्षण भी कर सकते हैं जैसे हम बढ़ते हैं और विकसित करते हैं।

पहले थोड़ा अजीब लगता है, लेकिन लंबे समय तक यह हमारे लिए वास्तव में अच्छा काम करता है।

1

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

तो अगर वेबसाइट मेरी समाधान (और विधानसभाओं) के नाम थे, मेरा सुझाव है -

Tests.Website.dll वास्तविक कोड विधानसभा Website.Dll

0

के साथ साथ जाने के लिए एमवीसी नेट वेब विकास दुनिया में एक वास्तविकता बनने लगी है, मैं उन पंक्तियों के साथ सोचना शुरू कर दूंगा। याद रखें कि एम, वी और सी अलग-अलग घटक हैं, इसलिए:

  • कंपनी नामस्थान।वेबसाइट
  • Company.Namespace.Website.Core
  • Company.Namspance.Website.Core.Tests
  • Company.Namespace.Website.Model
  • Company.Namespace.Website.Model.Tests

वेबसाइट आपका हल्का दृश्य है। कोर में नियंत्रक, सहायक, दृश्य इंटरफेस इत्यादि शामिल हैं। Core.Tests कोर के लिए आपके परीक्षण हैं। मॉडल आपके डेटा मॉडल के लिए है। यहां अच्छी बात यह है कि आपके मॉडल परीक्षण आपके डेटाबेस विशिष्ट परीक्षणों को स्वचालित कर सकते हैं।

यह कुछ लोगों के लिए अधिक हो सकता है, लेकिन मुझे लगता है कि यह मुझे काफी आसानी से चिंताओं को अलग करने की अनुमति देता है।