我有一個Company
模型與attr_accessor :administrator
,所以當用戶創建公司時,他還需要爲該公司的管理員填寫一些字段。我試圖測試,他正確填寫所有字段。RSpec通過驗證測試,應該失敗
class Company < ActiveRecord::Base
attr_accessor :administrator
validates :name, presence: true
validates :administrator, presence: true, if: :administrator_is_valid?
private
def administrator_is_valid?
administrator[:name].present? and
administrator[:phone].present? and
administrator[:email].present? and
administrator[:password].present? and
administrator[:password_confirmation].present? and
administrator[:password] == administrator[:password_confirmation]
end
end
company_spec.rb
是:
require 'rails_helper'
describe Company do
it 'is valid with name and administrator' do
company = Company.new(name: 'Company',
administrator: {
name: nil,
email: nil,
phone: nil,
password: 'password',
password_confirmation: ''
})
expect(company).to be_valid
end
end
所以,你看,我有很多的驗證測試的失誤,但RSpec的傳遞。
謝謝!
謝謝,艾哈邁德。這清楚了! – 2014-09-29 18:01:00