やりたいこと
Railsで作成したWebアプリに対してE2Eテスト(単純な文字列返却)を実行したいです。
環境
OS:ArchLinux
Railsバージョン:5.2.3
Rubyバージョン:2.5.7p206
Docker定義
githubリポジトリ
現状
下記の内容で、テストを実行しました。
spec/support/capybara.rb
下記は、Capybaraの設定です
ruby
1 2Capybara.register_driver :chrome_headless do |app| 3 options = ::Selenium::WebDriver::Chrome::Options.new 4 5 options.add_argument('--headless') 6 options.add_argument('--no-sandbox') 7 options.add_argument('--disable-dev-shm-usage') 8 options.add_argument('--window-size=1400,1400') 9 options.add_argument("start-maximized") 10 options.add_argument("disable-infobars") 11 options.add_argument("--disable-extensions") 12 options.add_argument("--disable-gpu") 13 14 Capybara::Selenium::Driver.new( 15 app, 16 browser: :chrome, 17 url: "http://192.168.0.6:3000/", 18 options: options 19 ) 20end 21 22Capybara.javascript_driver = :chrome_headless 23Capybara.run_server = false 24Capybara.app_host = nil 25
spec/features/post_page_spec.rb
下記は、テストの定義です
ruby
1require 'rails_helper' 2 3describe 'Postpage', js: true do 4 specify 'DisplayGreeting' do 5 visit root_path 6 expect(page).to have_css('p',text: 'HelloWorld') 7 end 8end 9
下記のコマンドを実行するとこのようなエラーが返ってきます
docker-compose run web bin/rspec
試したこと
Capybara.app_host
にURLを設定 -> エラー変わりませんでした。Capybara.server_host
にURLを設定 -> エラー変わりませんでした。- Chromeブラウザで手動テスト -> 想定通りHelloWorldという文字列が取得できます。
- `docker-compose run web bin/rspec'
回答2件
あなたの回答
tips
プレビュー