【发布时间】:2011-12-08 23:40:55
【问题描述】:
我对这个 TDD 业务非常熟悉,所以任何帮助都会很棒!
所以,我有一个工厂,有以下内容:
FactoryGirl.define do
factory :account do
email "example@example.com"
url "teststore"
end
end
还有一个 Rspec 测试:
it "fails validation without unique email" do
account1 = FactoryGirl.create(:account)
account2 = FactoryGirl.create(:account)
account2.should have(1).error_on(:email)
end
我收到以下消息失败:
1) Account fails validation without unique email
Failure/Error: account2 = FactoryGirl.create(:account)
ActiveRecord::RecordInvalid:
Validation failed: Email taken, please choose another, Url taken, please choose another
# ./spec/models/account_spec.rb:11:in `block (2 levels) in <top (required)>'
这是创建新工厂的正确方法吗?任何想法我在这里做错了什么(我毫不怀疑我在做某事完全不正确!)
编辑:我想代替在第二个帐户上使用“创建”,我可能想使用 .build 然后 .save 代替?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 rspec tdd factory-bot