2017-05-30 89 views
10

看完RailsConf video on ActionDispatch::systemTestCase之後,我很興奮將它整合到我的當前應用程序中。目前,我們的測試套件安裝使用以下:Rails 5.1使用RSpec配置內置系統測試

我們目前的配置很難得到配置,但我們最終得到了它的工作,主要歸功於Avdi Grimm的一篇文章,標題爲:Configuring database_cleaner with Rails, RSpec, Capybara, and Selenium

我的希望是使用rails 5.1中發佈的rails的內置系統測試。由於導軌現已係統測試內置的:所有我需要擔心的配置如下:

  • rspec
  • factory_girl

這是因爲ActionDispatch::systemTestCase需要照顧capybaradatabase_cleaner ,並且已經爲selenium驅動程序進行了配置。

例如:目前我feature specs寫像這樣(水豚RSpec的上下文中):

#spec/features/blogs/creating_blogs_spec.rb 
require "rails_helper" 

RSpec.feature "Logged in User can create a blog" do 
    before do 
    create(:logged_in_user) 
    end 

    scenario "successfully", js: true do 
    ... 
    end 
end 

所以這是一個典型的集成/功能/系統規範可能是什麼樣子的配置測試套件與rspec,database_cleaner,factory_girlcapybara。我想將其轉換爲使用ActionDispatch::systemTestCase

但是,我想在RSpec的範圍內使用ActionDispatch::systemTestCase

上面的RailsConf上的視頻顯示ActionDispatch :: systemTestCase如何運作的軌道的默認測試套件佈局(例如:minitest與位於test目錄測試)的範圍內,但它並沒有討論如何使用ActionDispatch :: systemTestCase在RSpec的範圍內。

我找不到任何資源可以使用RSpec對軌道的內置系統測試進行配置,包括在system testing section of the rails guides之內。這可能嗎?

回答