कुछ शोध करने के बाद, मैंने पाया है कि ऐसा करने का कोई तरीका नहीं है। बोहेडन सुझाव देते हैं कि TEST=
विकल्प प्रदान करते समय भी परीक्षण रेक कार्य डेटाबेस को छोड़ देंगे।
--trace
विकल्प का उपयोग करके, यह साबित किया जा सकता है। यहाँ आउटपुट है:
$ rake test:units TEST=test/unit/post_test.rb --trace
(in /Users/johnnyicon/Development/ror/test-app)
** Invoke test:units (first_time)
** Invoke test:prepare (first_time)
** Invoke db:test:prepare (first_time)
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:abort_if_pending_migrations
** Execute db:test:prepare
** Invoke db:test:load (first_time)
** Invoke db:test:purge (first_time)
** Invoke environment
** Execute db:test:purge
** Execute db:test:load
** Invoke db:schema:load (first_time)
** Invoke environment
** Execute db:schema:load
** Execute test:prepare
** Execute test:units
Ruby on Rails Guides for Testing के माध्यम से पढ़ना, यह वर्णन इन रेक कार्यों में से कुछ क्या मतलब है। db:test:load
कार्य पर विशेष ध्यान देने वाला व्यक्ति ** Execute db:test:load
के रूप में आउटपुट के नीचे से 7 वीं पंक्ति पर दिखाई देता है। गाइड इस कार्य के बारे में निम्नलिखित कहते हैं:
पुन: वर्तमान schema.rb से परीक्षण डेटाबेस
इसलिए भले ही मैं निष्पादित करने के लिए के रूप में Bohdan पता चलता इकाई एक के बाद एक परीक्षण कर रहे थे, रेक कार्य अभी भी डेटाबेस को फिर से बनाएगा। वह जवाब नहीं था जिसके लिए मैं उम्मीद कर रहा था, लेकिन अब यह कोई समस्या नहीं है।
कारण मैं शुरू करने के लिए कह रहा था क्योंकि मुझे परीक्षण के लिए उपयोग करने के लिए किसी अन्य डेटाबेस तक पहुंच नहीं थी, इसलिए मैं परीक्षण के लिए भी अपने विकास डेटाबेस का उपयोग कर रहा था। लेकिन तब से, मैं परीक्षण के लिए समर्पित एक और डेटाबेस प्राप्त करने में सक्षम हूं।
वैसे भी बोहडन धन्यवाद! मैं मदद की सराहना करता हूं!
इसे सुनकर खुशी हुई। प्रत्येक बार जब आप परीक्षण चलाते हैं तो आपका परीक्षण डेटाबेस * साफ़ किया जाना चाहिए, अन्यथा आपके परीक्षण गलत होंगे। –