2014-03-01 42 views
0

我正在測試顯示視頻的應用的頁面。我試圖通過繞過視頻上傳過程或其他方式來加速測試?在使用Rspec進行測試時繞過視頻上傳的方法

也許我使用FactoryGirl不正確的文件上傳..

使用FactoryGirl,我創建與

FactoryGirl.define do 
factory :video do 
    user_id 1 
    type "Live" 
    title "FooBar" 
    description "Foo bar is the description" 
    video { fixture_file_upload(Rails.root.join('spec', 'files', 'concert.mov'), 'video/mp4') } 
end 
end 

而在我所描述的視頻作爲請求的規格視頻:

describe "videos page" do 

    let(:user) { FactoryGirl.create(:user) } 
    let!(:video1) { FactoryGirl.create(:video) } 

    before { visit user_video_path(user) } 

    it { should have_title(user.name) } 
    it { should have_content(user.name) } 

    describe "videos" do 
    it { should have_content(video1.description) } 
    end 
end 

現在,我每次運行該頁面的測試時都會經歷文件上傳過程,這需要花費更多時間。我還使用FFmpeg的

**video.rb (video model)** 

validates :video, presence: true 
has_attached_file :video, :styles => { 
             :medium => { :geometry => "640x480", :format => 'mp4' }, 
             :thumb => { :geometry => "470x290#", :format => 'jpg', :time => 10 } 
            }, 
          :processors => [:ffmpeg] 

該做些什麼,當我測試頁面是CLI經過視頻上傳過程就像它將如果你上傳的視頻,觀看您的本地服務器。

回答

0

使用某些值覆蓋視頻屬性,該值通過了使用工廠創建對象時通過測試所需的所有驗證和要求。對於具體類型,您可以使用double。嘗試這樣的事情

file = double('file', :size => 0.2.megabytes, :content_type => 'mp4', :original_filename => 'rails') 
let!(:video1) { FactoryGirl.create(:video, video => file) } 
+0

需要的視頻屬性的存在,雖然 –

+0

然後我得到的錯誤'回形針:: AdapterRegistry :: NoHandlerError: 沒有處理髮現「東西」' –

+0

我更新了我的答案。創建一個類型的視頻應該沒問題。 –

相關問題