class UserTest < ActiveSupport::TestCase def Setup @user = User.new(name: "Example User", email: "user@example.com") end test "should be valid" do assert_equal @user.valid? end test "name should be present" do @user.name = " " assert_not @user.valid? end test "email should be present" do @user.email = " " assert_not @user.valid? end end ーーーーーーーーーーーーーーーーーーーーーーー class User < ApplicationRecord validates :name, presence: true validates :email, presence: true end ```### 前提・実現したいこと 現在、Railsチュートリアルの第6章にて、name、email等の賊子の検証テストを行っているのですが、どうしても、No Method errorが出て2か所パスが出来ません。いろいろ他サイトを調べたのですが、適切な答えが見つからず前に進めません。 お詳しい方いらっしゃいましたら、ご教示頂けませんでしょうか、よろしくお願いします。 ### 発生している問題・エラーメッセージ
$ rails t
Started with run options --seed 19323
ERROR["test_name_should_be_present", UserTest, 0.8290709999855608]
test_name_should_be_present#UserTest (0.83s)
NoMethodError: NoMethodError: undefined method name=' for nil:NilClass test/models/user_test.rb:13:in
block in class:UserTest'
ERROR["test_email_should_be_present", UserTest, 0.8330029000062495]ETA: 00:00:01
test_email_should_be_present#UserTest (0.83s)
NoMethodError: NoMethodError: undefined method email=' for nil:NilClass test/models/user_test.rb:18:in
block in class:UserTest
### 該当のソースコード `` app/test/models/user_test.rbファイル ↓ ''' require_relative '../test_helper' class UserTest < ActiveSupport::TestCase def Setup @user = User.new(name: "Example User", email: "user@example.com") end test "should be valid" do assert_equal @user.valid? end test "name should be present" do @user.name = " " assert_not @user.valid? end test "email should be present" do @user.email = " " assert_not @user.valid? end end ''' app/models/user.rbファイル ↓ ''' class User < ApplicationRecord validates :name, presence: true validates :email, presence: true end '''
試したこと
エラー表示を見ていると未定義のname = "" , email = ""の2か所と出るのですが
assert_equal @user.valid?
assert_not @user.valid?
これらのvalid?メソッドについても同じく未定義のエラーが発生します。
この際のエラーメッセセージは掲載しておりませんが、上記と同じレベルの内容です。
どうにもやりようがなく途方に暮れた状態です。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー