में इकाई परीक्षण के लिए LocalDb स्थापित करने के लिए हम का उपयोग कर इकाई की रूपरेखा 5.कैसे दृश्य स्टूडियो 2012 और इकाई की रूपरेखा 5
कुछ इकाई परीक्षण है कि एक डेटाबेस पर निर्भर कर रहे हैं एक Visual Studio 2012 ASP.NET MVC परियोजना है। एक केंद्रीय SQL सर्वर डेटाबेस का उपयोग करने के लिए परीक्षण प्रोजेक्ट में app.config फ़ाइल सेट अप ठीक काम करता है।
हालांकि, यह स्थानीय डीबी का उपयोग करने के लिए बहुत अच्छा होगा, ताकि प्रत्येक डेवलपर के पास परीक्षण चलाते समय उसका अपना डेटाबेस हो। विशेष रूप से जब हम चलते समय DropCreateDatabaseAlways
तक परीक्षण करना चाहते हैं।
हालांकि, मुझे काम करने के लिए सेटअप नहीं मिल रहा है। अगर मैं app.config में इस प्रयास करें:
<add name="TestDb"
connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=unittestdb;
Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\unittestdb.mdf"
providerName="System.Data.SqlClient" />
मैं:
System.Data.SqlClient.SqlException: एक फ़ाइल सक्रियण त्रुटि उत्पन्न हुई। भौतिक फ़ाइल नाम '\ unittestdb.mdf' गलत हो सकता है। का निदान करें और अतिरिक्त त्रुटियों को सही करें, और ऑपरेशन को पुनः प्रयास करें। बनाएं डाटाबेस विफल। सूचीबद्ध कुछ फ़ाइल नाम नहीं बनाया जा सका। संबंधित त्रुटियों की जांच करें।
ऐसा लगता है कि यह एमडीएफ फ़ाइल पहले से मौजूद होना चाहता है, जो डेटाबेस बनाने की कोशिश कर रहा है क्योंकि यह अजीब लगता है। एक एमडीएफ फ़ाइल मैन्युअल रूप से बनाना त्रुटि संदेश नहीं बदलता है।
आप इकाई परीक्षण जब में जांच कर सकता है कि तुम क्या मूल्य की क्या ज़रूरत है आप कॉल करते हैं: 'AppDomain.CurrentDomain.GetData ("DataDirectory") '? –
इकाई परीक्षण में 'AppDomain.CurrentDomain.GetData (" DataDirectory ") का मान' शून्य 'है। –
तो या तो कनेक्शन सेट में 'SetData' का उपयोग करके कुछ पथ पर मान सेट करें या कनेक्शन स्ट्रिंग में' | DataDirectory | 'का उपयोग न करें क्योंकि यह' शून्य 'है। –