#実現したいこと
railsチュートリアル3章で$ rails generate controller StaticPages home help
実行後、testの中身を変えずにtestしたところ 以下のエラーが表示されテスト自体ができません...
$rails t /Users/kiyomasa/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/capybara-3.23.0/lib/capybara/selector/filters/node_filter.rb:9:in `initialize': wrong number of arguments (given 4, expected 3) (ArgumentError) #以下略
テスト自体は
#static_pages_controller_test.rb require 'test_helper' class StaticPagesControllerTest < ActionDispatch::IntegrationTest test "should get home" do get static_pages_home_url assert_response :success end test "should get help" do get static_pages_help_url assert_response :success end end
で生成時から特に触ってません。
gemfileはこちらです
Gemfile
1source 'https://rubygems.org' 2git_source(:github) { |repo| "https://github.com/#{repo}.git" } 3 4ruby '3.0.0' 5 6gem 'rails', '6.0.3' 7gem 'puma', '4.3.6' 8gem 'sass-rails', '5.1.0' 9gem 'webpacker', '4.0.7' 10gem 'turbolinks', '5.2.0' 11gem 'jbuilder', '2.9.1' 12gem 'bootsnap', '1.4.5', require: false 13 14group :development, :test do 15 gem 'sqlite3', '1.4.2' 16 gem 'byebug', '11.0.1', platforms: [:mri, :mingw, :x64_mingw] 17end 18 19group :development do 20 gem 'web-console', '4.0.1' 21 gem 'listen', '3.4.1' 22 gem 'spring', '2.1.0' 23 gem 'spring-watcher-listen', '2.0.1' 24end 25 26group :test do 27 gem 'capybara', '~>3.23.0' 28 gem 'selenium-webdriver', '3.142.4' 29 gem 'webdrivers', '4.1.2' 30 gem 'rails-controller-testing', '1.0.4' 31 gem 'minitest', '5.11.3' 32 gem 'minitest-reporters', '1.3.8' 33 gem 'guard', '2.16.2' 34 gem 'guard-minitest', '2.4.6' 35end 36 37group :production do 38 gem 'pg', '1.1.4' 39end 40 41 42# Windows ではタイムゾーン情報用の tzinfo-data gem を含める必要があります 43gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] 44 45 46
##調べた、試したこと
どうやらcapybara gem
で使うnode_filter.rb
でwrong number of arguments (given 4, expected 3)
=引数エラーが出ているらしいと判明したので
###wrong number of argumentsでエラーを調査
ググって以下記事を発見し、見てみると
リンク
https://qiita.com/TOSHIMITSU_MIYACHI/items/82417ab6126d816af4e4
wrong number of arguments (a for b)
a=呼び出し側の引数の数
b=メソッド側の引数の数
があっていないということらしいのですが
あっていないと言われても、自分で作ったメソッドでもないし、もしかしてgemのバージョンがおかしいのか?と調査
##capybaraについて調査
元々gemfileはrailsチュートリアルから丸々コピーして使っていた(一部エラー出てバージョンを変えたりはしてみた)
https://qiita.com/morrr/items/0e24251c049180218db4
Capybara = UIテストのためのrubyフレームワーク
ということがわかりましたが 特に何も触らず、
何度かgemfileもinstallし直ししてみましたが、効果はありませんでした。
わかる方教えていただけると嬉しいです。
###環境
Rails 6.0.3 ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-darwin19]
macbook ローカル環境です。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/10 01:57