2013-08-27 156 views
1

驗證模型關係我有一個基本的模型與工廠女孩

class Province < ActiveRecord::Base 
    belongs_to :region 
    validates :region, :presence => true 
end 

我希望沒有區域的省份是無效的。

所以我做了一個這樣的測試。

it 'Must have a region' do 
    province = create(:province) 
    expect(province.valid?).to be_false 
end 

夾具是與工廠的女孩。

factory :province do 
    name 'a_name' 
end 

測試失敗:

1) Province Initialization Must have a region 
Failure/Error: expect(province.valid?).to be_false 
    expected: false value 
     got: true 

任何想法,爲什麼?

謝謝

+0

工廠是否可以創造這些東西?創造涉及到驗證,並且工廠本身沒有定義任何東西來解釋關聯......這並不能解釋爲什麼期望本身會失敗。 – jaydel

+0

您是否在架構中爲省定義了任何默認值? – Miotsu

回答

0

好的,重新啓動計算機後,測試通過意料之外。所以我認爲在我進行驗證後,rspec不刷新模型。我不知道爲什麼。