以下のようなフィクスチャを作成して、テストを実行するとテストを通すことができますが、bin/setup コマンドを実行すると、テストでエラーになります。エラーを回避する方法がわからず、困っております。
フィクスチャでは User.find_by のように使うことはできないのでしょうか? bin/setup コマンドの内容を変更すればエラーを回避できるのでしょうか?
ご教示のほど、よろしくお願いします。
yaml
1# test/fixtures/users.yml 2momotaro: 3 name: 桃太郎 4 5# test/fixtures/articles.yml 6article_3: 7 title: <%= User.find_by(name: "桃太郎").name %>です 8 body: 猿にきびだんごをあげたら仲間になった。 9 user: momotaro
ruby
1# test/models/article_test.rb 2test "article_3 のタイトル" do 3 @article = articles(:article_3) 4 5 assert_equal "桃太郎です", @article.title 6end
bash
1# エラー 2Error: 3ArticleTest#test_article_3_のタイトル: 4NoMethodError: undefined method `name' for nil:NilClass 5 test/fixtures/articles.yml:12:in `get_binding'
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/19 12:45 編集
2019/06/19 12:55
2019/06/19 13:19