0

我正在嘗試爲我的網站創建功能規格,但我幾乎找到了一個絆腳石。Rspec - 使用javascript驅動程序的水豚功能規格在故障後未完成

當我嘗試運行水豚javascript功能規範時,它失敗,但不會結束測試或關閉瀏覽器窗口。

運行這個測試

RSpec.feature "Whatever", type: :feature, js: true do 
    scenario "whatever again" do 
    visit "/whatever_url" 
    expect(true).to eq(true) 
    end 
end 

結果

Whatever 
    whatever again (FAILED - 1) 

,並掛在那兒好幾個小時,沒有關於是什麼導致了失敗

我同時與硒試圖消息和webkit的JavaScript驅動程序。 他們大部分都在工作,因爲當我用更復雜的動作來執行它們時,它們只是完成測試部分而給我帶來麻煩。

我使用rails 4.2.4,rspec 3.5.1,capybara 2.7.1和ubuntu 15.10來運行它。 如果還有任何其他有用的數據,請讓我知道

+0

比如你給予的應該不會失敗 - 你得到了什麼錯誤? –

+0

就是這樣,我沒有得到任何錯誤。我已經更新了問題以包含規範的結果(不知道爲什麼我首先忘記了這個) – Jarfis

+0

ok - fyi假設你打電話的RSpec.feature是由Capybara提供的,那麼你不要因爲它已經設置了,所以也不需要指定'type :::feature'。 –

回答

0

我想出了問題所在。

在我的rails_helper中有一個config.after(:all)塊環繞DatabaseCleaner.clean當javascript規格完成時,它被凍結。

visit被解僱時,測試中的失敗本身就是一個丟失的資產。

更新:我也遇到了同色器件交互的其他問題,水豚和JS webdrivers,並解決了與解決方案here,並實施該解決方案後的after(:all)DatabaseCleaner.clean不再會導致此問題