6

मेरे पास रूबी 2.1/रेल 3.2 एप्लिकेशन है जो संपत्ति पाइपलाइन का उपयोग करता है। हम एक नाजुक (अल्फा) मणि का भी उपयोग कर रहे हैं जो कई बार असफल होने के लिए "रेक संपत्ति: प्रीकंपाइल" का कारण बनता है। मैं एक आरएसपीईसी परीक्षण लिखना चाहता हूं जो सुनिश्चित करता है कि यह कोड हमारे कोड को करने से पहले हमेशा गुजरता है।आरएसपीसी के साथ रेक रेक का परीक्षण कैसे करें?

मैं कल्पना में एक परीक्षण/asset_precompile_spec.rb जो इस तरह दिखता है लिखा है:

require 'spec_helper' 
require 'rake' 

describe 'assets:precompile' do 
    before { MyApp::Application.load_tasks } 
    it { expect { Rake::Task['assets:precompile'].invoke }.not_to raise_exception } 
end 

मैं तो

rspec spec/lib/assets_precompile_spec.rb 

उत्पादन मैं इस तरह देखा गया का उपयोग कर कमांड लाइन पर यह भाग गया:

1) assets:precompile 
    Failure/Error: it { expect { Rake::Task['assets:precompile'].invoke }.not_to raise_exception } 
     expected no Exception, got #<RuntimeError: Command failed with status (1): [/home/railsdev/.rvm/rubies/ruby-2.1.2/bin/...]> with backtrace: 
     # ./spec/lib/assets_precompile_spec.rb:7:in `block (3 levels) in <top (required)>' 
     # ./spec/lib/assets_precompile_spec.rb:7:in `block (2 levels) in <top (required)>' 
    # ./spec/lib/assets_precompile_spec.rb:7:in `block (2 levels) in <top (required)>' 

Finished in 0.71247 seconds 
1 example, 1 failure 

Failed examples: 

rspec ./spec/lib/assets_precompile_spec.rb:7 # assets:precompile 

मैं अब तक & विस्तृत ध्यान दिया है, और मैं "r को चलाने के लिए किसी भी उदाहरण नहीं मिल सकता है एके संपत्ति: प्रीकंपाइल "जो वास्तव में मेरे आरएसपीसी पर्यावरण में काम करता है। मैंने spec_helper.rb फ़ाइल को स्पष्ट रूप से लोड करने का प्रयास किया है, मैंने स्पष्ट रूप से "factory_girl" की आवश्यकता है, लेकिन मुझे कुछ भी नहीं मिल रहा है जो काम करता है।

क्या इस रेक कार्य को आरएसपीईसी परीक्षण में चलाने के लिए कोई तरीका है?

+0

मुझे आपके द्वारा प्रदान किए गए कोड का उपयोग करने में कोई समस्या नहीं थी। – hmak

+0

मैं एक ही मुद्दे में भाग गया और @ spr के समाधान ने मेरे लिए काम किया। – etagwerker

उत्तर

2

यह मदद की Rake::Task['assets:precompile:all'].invoke

बजाय Rake::Task['assets:precompile'].invoke

प्रयास करें मेरी मामले में।

+0

साझा करने के लिए धन्यवाद! यह मेरे लिए काम किया। – etagwerker

संबंधित मुद्दे