मेरे पास एक मॉडल है जो एक पार्सर ऑब्जेक्ट से अपना डेटा प्राप्त करता है। मैं सोच रहा हूं कि पार्सर क्लास lib/directory में रहना चाहिए (हालांकि मुझे यह राजी किया जा सकता है कि इसे कहीं और रहना चाहिए)। सवाल यह है कि पार्सर क्लास के लिए मेरा यूनिट परीक्षण कहां होना चाहिए? और मैं कैसे सुनिश्चित करूं कि जब भी मैं रेक परीक्षण चलाता हूं तो वे दौड़ते हैं?रेल: lib/निर्देशिका में कोड का परीक्षण कैसे करें?
उत्तर
रेल एप्लिकेशन में मैं काम कर रहा हूं, मैंने केवल test\unit
निर्देशिका में परीक्षण करने का निर्णय लिया है। मैं भी मॉड्यूल/निर्देशिका से घोंसला होगा उन्हें रूप में अच्छी तरह, उदाहरण के लिए:
lib/a.rb => test/unit/a_test.rb
lib/b/c.rb => test/unit/b/c_test.rb
मेरे लिए, यह पिछले प्रतिरोध के रास्ते के रूप में इन परीक्षणों किसी अन्य परिवर्तन करने के लिए बिना भाग गया।
निम्नलिखित
namespace :test do
desc "Test lib source"
Rake::TestTask.new(:lib) do |t|
t.libs << "test"
t.pattern = 'test/lib/**/*_test.rb'
t.verbose = true
end
end
नकल test
dir के तहत अपने lib
निर्देशिका की संरचना के साथ lib/tasks/test_lib_dir.rake
बनाएँ, इसी परीक्षण के साथ lib कोड की जगह:
यहाँ एक तरीका है।
अपने lib परीक्षण चलाने के लिए rake test:lib
चलाएं।
यदि आप rake test
का आह्वान करते समय सभी परीक्षण चलाने के लिए चाहते हैं, तो आप अपनी नई रेक फ़ाइल में निम्नलिखित जोड़ सकते हैं।
lib_task = Rake::Task["test:lib"]
test_task = Rake::Task[:test]
test_task.enhance { lib_task.invoke }
के साथ काम नहीं करता है किसी भी तरह से यह पर्यावरण को लोड नहीं करता है (विशेष रूप से 'सक्रिय समर्थन' के 'फिक्स्चर'), और इसे रेकैकाइल में मजबूर करने का कोई तरीका नहीं है। –
अरे, मैंने आपके समाधान की कोशिश की और 'रेक टेस्ट: lib' मेरा परीक्षण चलाता है, लेकिन 'रेक टेस्ट' नहीं करता है। मैंने इसे क्रियान्वित किया। यहां मेरी फ़ाइल सामग्री का एक लिंक दिया गया है: http://pastebin.com/FHMXU6vG अग्रिम धन्यवाद! – robert
मैं एक ही बात काम करना चाहते थे लेकिन rspec & autospec साथ और यह सिर्फ जहाँ वे निर्देशिका/फ़ाइल पैटर्न है कि निर्धारित चलाने के लिए जो परीक्षण फ़ाइलों की सूची मिल रहे थे यह पता लगाने की एक छोटे से खुदाई ले लिया। अंत में मैं lib/कार्य/rspec.rake में यह पाया: 86
[:models, :controllers, :views, :helpers, :lib, :integration].each do |sub|
desc "Run the code examples in spec/#{sub}"
Spec::Rake::SpecTask.new(sub => spec_prereq) do |t|
t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""]
t.spec_files = FileList["spec/#{sub}/**/*_spec.rb"]
end
end
मैं एक नया कल्पना/libs डायरेक्टरी में मेरा परीक्षण रखा था जब rpsec.rake फ़ाइल कल्पना/lib में देखने के लिए कॉन्फ़िगर किया गया था। बस libs का नाम बदलना -> lib ने चाल की है!
मेरे पास किसी भी तरह से मेरी परियोजना में डिफ़ॉल्ट रूप से '/ lib' है। दुर्भाग्य से 'रेक टेस्ट' फाइलों को पकड़ नहीं लेता है, इसलिए यह केवल आरएसपीईसी है और मुझे ऊपर दिए गए समाधान का उपयोग करना होगा। –
कस्टम परिभाषित फ़ोल्डर्स से परीक्षण चलाने के लिए अतिरिक्त रेक कार्यों को परिभाषित करने के लिए आप उन्हें rake test:all
कमांड के साथ भी चला सकते हैं। lib
फ़ोल्डर या किसी अन्य कस्टम फ़ोल्डर के लिए टेस्ट फ़ोल्डर्स संरचना आपके ऊपर है। लेकिन मैं कक्षाओं में उन्हें डुप्लिकेट करना पसंद करता हूं: lib
test/lib
, app/form_objects
से test/form_objects
से मेल खाता है।
परीक्षण/इकाई/lib के तहत निर्देशिका बनाने के लिए एक आसान और साफ तरीका है। फिर lib/foo.rb से संबंधित परीक्षण/इकाई/lib/foo_test.rb के रूप में परीक्षण बनाएं। कोई नया रेक कार्य आवश्यक नहीं है, और यदि आप lib निर्देशिका संरचना से मेल खाने के लिए आवश्यक हैं तो आप अधिक निर्देशिकाओं को घोंसला कर सकते हैं।
उपयोग:
[spring] rake test:all
निर्देशिका आपके द्वारा बनाए (जैसे [root]/test/lib/
) सहित सभी परीक्षण चलाने के लिए।
अगर [spring]
छोड़ें तो टूर इसका उपयोग नहीं कर रहा है।
रेक निरस्त! पता नहीं कि कार्य 'परीक्षण कैसे बनाएं: सभी' – Intentss
Rails 4.0 के रूप में:
rake test:all # Run all tests in any subdir of `test` without resetting the DB
rake test:all:db # Same as above and resets the DB
Rails 4.1 के रूप में, फिर से परिभाषित test:run
अतिरिक्त कार्य शामिल करने के लिए जब rake
या rake test
चल:
# lib/tasks/test.rake
namespace :test do
Rake::Task["run"].clear
task run: ["test:units", "test:functionals", "test:generators", "test:integration", "test:tasks"]
["tasks"].each do |name|
Rails::TestTask.new(name => "test:prepare") do |t|
t.pattern = "test/#{name}/**/*_test.rb"
end
end
end
यह दिए गए उदाहरण में rake test:tasks
को परिभाषित करने के अतिरिक्त लाभ यह है ।
Rails 4.2 के रूप में, test:run
उन्हें सहित जब rake test
चल रहा है, और इस तरह rake
test
के सभी उपनिर्देशिका भी शामिल है।
रेल 5 में, ये अलग-अलग कार्य मौजूद नहीं हैं। – Qqwy
- 1. रेल: राज्य_माचिन का परीक्षण कैसे करें?
- 2. आसानी से कोड का परीक्षण कैसे करें?
- 3. वेब कोड का परीक्षण कैसे करें?
- 4. रेल में मार्गों का परीक्षण कैसे करें 3.1 माउंटेबल इंजन
- 5. रेल विचारों में कोड कैसे टिप्पणी करें?
- 6. स्कॉप्स का परीक्षण कैसे करें?
- 7. रेल में यूनिट परीक्षण जेनरेटर अक्षम करें
- 8. परीक्षण (रेल)
- 9. रेल परीक्षण: कार्रवाई प्रस्तुत करें
- 10. रेल ईआरबी टेम्पलेट्स के लिए कोड कवरेज का परीक्षण कैसे करें?
- 11. rspec का उपयोग कर रेल 3 में नियंत्रक में पारित पैराम का परीक्षण कैसे करें?
- 12. जावा कोड का सबसे अच्छा परीक्षण कैसे करें?
- 13. मैं रेल 3 प्लगइन में मार्गों का परीक्षण कैसे करूं?
- 14. रेल परीक्षण में ऑटोटेस्ट और स्पार्क कैसे गठबंधन करें?
- 15. परीक्षण कोड कैसे स्केल
- 16. परीक्षण (रेल)
- 17. मैं कोड-जनरेटर का परीक्षण कैसे करूं?
- 18. कैसे जावा कोड परीक्षण
- 19. फेसबुक लॉगआउट कैसे करें - रेल एप्लिकेशन में कोड का उपयोग करके (रेल ओमियाथ पर रूबी)
- 20. मैं रेल में मददगारों का परीक्षण कैसे करूं?
- 21. मैं रेल में फ़ाइल अपलोड करने का परीक्षण कैसे करूं?
- 22. एमवीसी में ModelMetadata.FromLambdaExpression का परीक्षण कैसे करें?
- 23. AngularJS निर्देशों का परीक्षण कैसे करें
- 24. रेल में पैरामीटर का उपयोग कैसे करें?
- 25. रेल कार्यात्मक परीक्षण
- 26. रेल 3 स्कॉप्स का परीक्षण करना समझ में आता है?
- 27. PHP कोड का प्रदर्शन परीक्षण
- 28. मॉडल में कोड कैसे साझा करें? (रेल 2.3)
- 29. रेल में कार्यात्मक परीक्षणों में कुकीज़ स्थिति का परीक्षण कैसे करें?
- 30. रेल में प्रतिक्रिया निकाय की सामग्री का आकलन कैसे करें 3 कार्यात्मक परीक्षण
यह अब रेल 5 – Qqwy