1

アプリケーションを構築してきましたが、テストを開始する準備が整いました。私は工場の女の子をseeds.rbで定義していますが、テストを実行しているので、/spec/factories.rbRspecの通常の場所でもテストを定義しました。

ただし、最初のテストは次のエラーで失敗します。

user_spec.rb

require 'spec_helper'

describe User do
  it "should have valid factory" do
    FactoryGirl.build(:user1).should be_valid
  end
end

返されたエラー:

Failures:

  1) User should have valid factory
     Failure/Error: FactoryGirl.build(:user1).should be_valid
     NoMethodError:
       undefined method `first_name=' for #<User:0x000000061410f8>
     # ./spec/models/user_spec.rb:5:in `block (2 levels) in <top (required)>'

Finished in 0.05459 seconds
1 example, 1 failure

Failed examples:

rspec ./spec/models/user_spec.rb:4 # User should have valid factory

Randomized with seed 29084

spec/factories.rb

FactoryGirl.define do
  factory :admin1, class: User do
    first_name "admin"
    last_name "minstrator"
    password "admin1234"
    profile_name "profilename"
    email "admin@admin.com"
    password_confirmation "admin1234"
    admin true
    end

    factory :user1, class: User do
    first_name "user2"
    last_name "man2"
    password "user1234"
    profile_name "profilename"
    email "user2@user.com"
    password_confirmation "user1234"
    admin false
    end

  end

私のseed.rbで開発に関するデータを使用すると問題なく動作しますが、Rspecを使用してテストを開始したところ、すべてうまくいきませんでした。

ここで私は何を間違っていますか。私は現時点ではテストがあまり好きではありませんが、Web アプリケーションに非常に役立つことがわかっているので、ここでスキルを向上させる必要があります。

助けていただければ幸いです。さらに情報が必要な場合はお知らせください。

4

2 に答える 2