2012-07-03 63 views
12

在Rails中測試JavaScript視圖的最佳方式是什麼?在Rails中測試JavaScript視圖

所以我們可以說我有一個名爲/users/new的頁面,其中包含一個可以執行某些操作的窗體。我希望擁有它,這樣我就可以提交表單,並且JavaScript測試工具可以讓我知道該頁面是否打破。做這個的最好方式是什麼?

我所遇到的三個選項來進行測試:

  1. Konacha(最佳工具迄今JS BDD)http://www.solitr.com/blog/2012/04/konacha-tutorial-javascript-testing-with-rails/

  2. JasmineRice(茉莉+滑軌+後衛)https://github.com/bradphelan/jasminerice/

  3. 水豚 Webkit。 https://github.com/thoughtbot/capybara-webkit

前兩個基本上那裏BDD和孤立的測試。最後一個更多的是我正在尋找的,但我不想爲JavaScript BDD和集成測試單獨測試設置。

有沒有人有更好的解決方案?

回答

5

如果使用的是RSpec的,你可以在一個RSpec集成測試使用水豚:

spec/requests/my_spec.rb: 

describe "my test", :js => true do 
    it "should do something" do 
    visit '/some/path' 

    click_on 'Submit' 

    page.should have_content 'Congratulations!' 
    end 
end 

記得設置Capybara.javascript_driver = :webkitspec_helper.rb

+2

這是我們爲一個相當大的應用程序所做的。它可以工作,但是非常慢。你只是真的想在你絕對需要的地方做到這一點。 –

8

檢查github上的Teaspoon項目。

https://github.com/modeset/teaspoon

它支持摩卡,茉莉花和QUnit ..具有與PhantomJS headlessly運行您的規格(或硒的webdriver)很好的支持,並允許使用全滑軌資產管道(CoffeeScript中,燈具等) 。

此外,它受到我與其他使用Rails的測試跑步者的經驗的很大影響。

+0

茶匙+1。我非常喜歡它的覆蓋支持。 –