0

管理モデルを rspec でテストしようとしていますが、エラーに直面しています。このエラーを解決する方法を教えてください。

私のモデル/ admin_spec.rb は

require 'spec_helper'

describe Admin do
  before do
    @admin = Admin.new(email: "superuser@superuser.com", hash: "iJXdppRiI52XsqJe", password: "736fc7f1f4f382e79f2278817d056a0ec14b9ff5", city_id: "", role_id: 4, request_hash: "", status: 1)
  end

  subject { @admin }

  it { should respond_to :email }
  it { should respond_to :password }
  it { should respond_to :phone }
  it { should be_valid }
end

エラーは次のとおりです。

) Admin phone with valid format 
     Failure/Error: it { should be_valid }
       expected valid? to return true, got false
     # ./spec/models/admin_spec.rb:15:in `block (3 levels) in <top (required)>'


Finished in 16.08 seconds
34 examples, 1 failure

Failed examples:

rspec ./spec/models/admin_spec.rb:15 # Admin phone with valid format 

Randomized with seed 31486
4

1 に答える 1

2

Admin の phone 属性を検証しているようですが、テスト対象に設定していません。有効な phone 属性を使用して before ブロック内に設定すると、テストに合格するはずです。

before do
    @admin = Admin.new(phone: "01234568", email: "superuser@superuser.com", hash: "iJXdppRiI52XsqJe", password: "736fc7f1f4f382e79f2278817d056a0ec14b9ff5", city_id: "", role_id: 4, request_hash: "", status: 1)
end
于 2012-11-26T11:16:31.380 に答える