質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

900閲覧

railsテストでwrong number of argumentsのエラー出て困っています

kuriri

総合スコア12

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2019/06/26 04:26

編集2019/06/26 05:34

前提・実現したいこと

はじめて質問させていただきます。
独学でrailsチュートリアルを勉強しています。
6章の最後の6.4rails testでエラーが出て困っています。
wrong number of arguments

ruby:ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]
rails:Rails 5.1.6
IDE:cloud9

発生している問題・エラーメッセージ

master:~/environment/sample_app (master) $ rails test Running via Spring preloader in process 17574 Traceback (most recent call last): 29: from -e:1:in `<main>' 28: from /home/ec2-user/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require' 27: from /home/ec2-user/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require' 26: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:286:in `load' 25: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:258:in `load_dependency' 24: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:286:in `block in load' 23: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:286:in `load' 22: from /home/ec2-user/environment/sample_app/bin/rails:9:in `<top (required)>' 21: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292:in `require' 20: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:258:in `load_dependency' 19: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292:in `block in require' 18: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292:in `require' 17: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.1.6/lib/rails/commands.rb:16:in `<top (required)>' 16: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.1.6/lib/rails/command.rb:44:in `invoke' 15: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.1.6/lib/rails/command/base.rb:63:in `perform' 14: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/thor-0.20.3/lib/thor.rb:387:in `dispatch' 13: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/thor-0.20.3/lib/thor/invocation.rb:126:in `invoke_command' 12: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/thor-0.20.3/lib/thor/command.rb:27:in `run' 11: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.1.6/lib/rails/commands/test/test_command.rb:38:in `perform' 10: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.1.6/lib/rails/test_unit/runner.rb:39:in `run' 9: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.1.6/lib/rails/test_unit/runner.rb:50:in `load_tests' 8: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.1.6/lib/rails/test_unit/runner.rb:50:in `each' 7: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.1.6/lib/rails/test_unit/runner.rb:50:in `block in load_tests' 6: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292:in `require' 5: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:258:in `load_dependency' 4: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292:in `block in require' 3: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292:in `require' 2: from /home/ec2-user/environment/sample_app/test/models/user_test.rb:3:in `<top (required)>' 1: from /home/ec2-user/environment/sample_app/test/models/user_test.rb:70:in `<class:UserTest>' /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.1.6/lib/active_support/testing/declarative.rb:11:in `test': wrong number of arguments (given 0, expected 1) (ArgumentError)

該当のソースコード

usertest

1require 'test_helper' 2 3class UserTest < ActiveSupport::TestCase 4 def setup 5 @user = User.new(name: "Example User", email: "user@example.com", 6 password: "foobar", password_confirmation: "foobar") 7 end 8 9 test "should be valid" do 10 assert @user.valid? 11 end 12 13 test "name should be present" do 14 @user.name = "" 15 assert_not @user.valid? 16 end 17 18 test "email should be present" do 19 @user.email = " " 20 assert_not @user.valid? 21 end 22 23 test "name should not be too long" do 24 @user.name = "a" * 51 25 assert_not @user.valid? 26 end 27 28 test "email should not be too long" do 29 @user.email = "a" * 244 + "@example.com" 30 assert_not @user.valid? 31 end 32 33 test "email validation should accept valid addresses" do 34 valid_addresses = %w[user@example.com USER@foo.COM A_US-ER@foo.bar.org 35 first.last@foo.jp alice+bob@baz.cn] 36 valid_addresses.each do |valid_address| 37 @user.email = valid_address 38 assert @user.valid?, "#{valid_address.inspect} should be valid" 39 end 40 end 41 42 test "email validation should reject invalid addresses" do 43 invalid_addresses = %w[user@example,com user_at_foo.org user.name@example. 44 foo@bar_baz.com foo@bar+baz.com] 45 invalid_addresses.each do |invalid_address| 46 @user.email = invalid_address 47 assert_not @user.valid?, "#{invalid_address.inspect} should be invalid" 48 end 49 end 50 51 test "email addresses should be unique" do 52 duplicate_user = @user.dup 53 duplicate_user.email = @user.email.upcase 54 @user.save 55 assert_not duplicate_user.valid? 56 end 57 58 test "email addresses should be saved as lower-case" do 59 mixed_case_email = "Foo@ExAMPle.CoM" 60 @user.email = mixed_case_email 61 @user.save 62 assert_equal mixed_case_email.downcase, @user.reload.email 63 end 64 65 test "" do 66 @user.password = @user.password_confirmation = " " * 6 67 assert_not @user.valid? 68 end 69 70 test do 71 @user.password = @user.password_confirmation = "a" * 5 72 assert_not @user.vaild? 73 end 74 75end

Gimfile

1source 'https://rubygems.org' 2 3gem 'rails', '5.1.6' 4gem 'bcrypt', '3.1.12' 5gem 'bootstrap-sass', '3.3.7' 6gem 'puma', '3.9.1' 7gem 'sass-rails', '5.0.6' 8gem 'uglifier', '3.2.0' 9gem 'coffee-rails', '4.2.2' 10gem 'jquery-rails', '4.3.1' 11gem 'turbolinks', '5.0.1' 12gem 'jbuilder', '2.7.0' 13 14group :development, :test do 15 gem 'sqlite3', '1.3.13' 16 gem 'byebug', '9.0.6', platform: :mri 17end 18 19group :development do 20 gem 'web-console', '3.5.1' 21 gem 'listen', '3.1.5' 22 gem 'spring', '2.0.2' 23 gem 'spring-watcher-listen', '2.0.1' 24end 25 26group :test do 27 gem 'rails-controller-testing', '1.0.2' 28 gem 'minitest', '5.10.3' 29 gem 'minitest-reporters', '1.1.14' 30 gem 'guard', '2.13.0' 31 gem 'guard-minitest', '2.4.4' 32end 33 34group :production do 35 gem 'pg', '0.20.0' 36end 37 38# Windows環境ではtzinfo-dataというgemを含める必要があります 39gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] 40

試したこと

DBの作り直しとgumインストール等してみましたが変化なしでした…

$ rails db:drop $ rails db:create $ rails db:migrate

変化なし

$rake db:migrate:reset $rails db:migrate
$bundle install $bundle update
$ sudo yum install -y tmux Loaded plugins: priorities, update-motd, upgrade-helper amzn-main | 2.1 kB 00:00:00 amzn-updates | 2.5 kB 00:00:00 1062 packages excluded due to repository priority protections Package tmux-1.8-4.12.amzn1.x86_64 already installed and latest version Nothing to do

どこか他に確認すべき点はありますでしょうか?
よろしくお願いいたします。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

すみません自己解決しました。
test "" do が抜けていました…

test "" do @user.password = @user.password_confirmation = " " * 6 assert_not @user.valid? end test do @user.password = @user.password_confirmation = "a" * 5 assert_not @user.vaild? end

test "password should be present (nonblank)" do @user.password = @user.password_confirmation = " " * 6 assert_not @user.valid? end test "password should have a minimum length" do @user.password = @user.password_confirmation = "a" * 5 assert_not @user.valid? end

投稿2019/06/26 05:47

kuriri

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問