SQLite ट्रैक पर टेस्टिंग

Exercism पर अपने SQLite अभ्यासों को टेस्ट करना सीखिए।


अपने SQLite अभ्यासों के टेस्ट चलाने के लिए इन चरणों का पालन कीजिए:

  1. अपना पसंदीदा टर्मिनल खोलिए।
  2. उस डायरेक्टरी में जाइए जिसमें उपयुक्त ${slug}_test.sql फाइल है। यहाँ ${slug} अभ्यास का नाम है, जिसमें स्पेस की जगह हाइफन लगते हैं और सब कुछ छोटे अक्षरों में लिखा जाता है।
  3. नीचे दिया गया कमांड चलाइए:
sqlite3 -bail < ${slug}_test.sql

यह कमांड SQLite को एक खाली डेटाबेस के साथ शुरू करता है, ${slug}_test.sql में दिए गए टेस्ट चलाता है, और इसके बाद बंद हो जाता है। -bail यह सुनिश्चित करता है कि अमान्य कोड मिलने पर कोड का चलना रुक जाए।

टेस्ट के परिणाम कंसोल में एक टेबल के रूप में दिखेंगे। इसमें हर टेस्ट का विवरण, उसकी स्थिति (जैसे "pass") और स्थिति "fail" होने पर एक संदेश दिखेगा।

डीबगिंग

डीबगिंग के लिए आप SELECT स्टेटमेंट इस्तेमाल कर सकते हैं। अगर टेस्ट फेल होते हैं, तो आउटपुट user_output.md में भेजा जाता है और वेब एडिटर में दिखाया जाता है।

निष्पादन का विवरण

टेस्ट फाइल (${slug}_test.sql) काफी जटिल स्क्रिप्ट है। यह फाइल क्या-क्या करती है, वह यहाँ संक्षेप में दिया गया है।

  1. create_fixture.sql पढ़कर टेबल तैयार करती है। इससे टेबल बनती हैं और फिर उनमें वैल्यू भरी जाती हैं: सही डेटा के लिए data.csv से और उन प्रविष्टियों के लिए error_data.csv से जो फेल होनी चाहिए। टेस्ट के दौरान सिर्फ इन्हीं टेबल की जाँच होती है; बाकी टेबल में हुए बदलावों पर ध्यान नहीं दिया जाता।
  2. ${slug}.sql फाइल पढ़कर हल का कोड चलाती है।
  3. टेस्ट केस और परिणाम रखने के लिए टेबल बनाती है।
  4. हल द्वारा बदली गई टेबल (या टेबलों) के डेटा के आधार पर टेस्ट के परिणाम भरती है।
  5. टेस्ट के परिणाम दिखाती है (pass या fail और वैकल्पिक विवरण)। इन CSV फाइलों में अलग-अलग परिस्थितियों की जाँच के लिए आवश्यक डेटा होता है।