2012-07-24 101 views
0

我有一個rspec測試失敗,但在開發中,當我自己執行操作時,頁面呈現正確。使用水豚調試rspec集成測試的最佳方法是什麼?

這裏的片段:

describe "sign up process" do 

let (:admin1) { FactoryGirl.create(:admin) } 

describe "with valid information" 

    before do 
    visit new_admin_registration_path 
    fill_in "Email", with: admin1.email 
    fill_in "Password", with: admin1.password 
    fill_in "Password confirmation", with: admin1.password_confirmation 
    click_button "Sign up" 
    end 

    it { should have_selector('div.alert') } 
end 

這不是在所有的發現,選擇,但我確認查看使用開發環境的源代碼時,它的存在。

我希望能夠做的是檢查呈現的頁面以查看我失蹤的內容。有沒有辦法做到這一點?

回答

5

水豚有一個方法save_and_open_page這將打開一個新的瀏覽器窗口與頁面的當前狀態(它需要launchy寶石)。

例如:

before do 
    ... 
    click_button "Sign up" 
    save_and_open_page 
    end 
+0

這是一個令人難以置信的有用的方法。謝謝! – 2012-07-24 21:52:09

4

這是因爲使用調試器之類的東西撬在不同的規格一樣容易。

我個人比較喜歡撬,造成安裝調試器是一種麻煩,每次我用Ruby 1.9嘗試過的......

用撬你只是在你的spec_helper.rb添加require "pry"然後寫一個binding.pry問題發生之前的行。然後你有一個irb會話附加到你的測試。

+0

對調試測試非常有用。如果您正在使用黃瓜進行集成測試,則應該在'/ features/support/env.rb'文件中'require'pry''而不是'spec_helper.rb'。 – 2013-06-03 22:28:52

相關問題