dou*_*ets 2 tdd rspec ruby-on-rails sequence factories
我是TDD,RSpec和工厂的新手,并试图了解如何测试每个用户的电话号码属性是否唯一.为此,我正在尝试在用户工厂中使用序列.以下我没有太多运气:
FactoryGirl.define do
factory :user do
number = 123456789
sequence(:phone_number) {|n| (number + n).to_s }
end
end
Run Code Online (Sandbox Code Playgroud)
有关实现这一目标的最佳方法的任何想法?此外,什么样的测试对于这样的事情是有意义的,最终我想要将以下验证添加到用户模型以进行这样的测试通过?
validates :phone_number, :uniqueness => true
Run Code Online (Sandbox Code Playgroud)
谢谢!
尝试使用带有随机10位数字的lambda:
phone_number { rand(10**9..10**10) }
Run Code Online (Sandbox Code Playgroud)
尝试这个:
FactoryGirl.define do
sequence :phone_number do |n|
"123456789#{n}"
end
factory :user do
phone_number
end
end
Run Code Online (Sandbox Code Playgroud)
为了测试您的验证,请在您的 user_spec 中使用它
it { should validate_uniqueness_of(:phone_number) }
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4087 次 |
最近记录: |