我使用ruby 1.9.2和rails 3.2.2。RSpec测试不会通过。使用域名验证唯一性
我有一个 '域' 模型(domain.rb):
class Domain < ActiveRecord::Base
attr_accessible :url
belongs_to :user
VALID_DOMAIN_REGEX = /^[a-z0-9\-\.]+\.[a-z]{2,}$/i
validates :url, presence:true,
format: { with: VALID_DOMAIN_REGEX },
uniqueness: { case_sensitive: false }
end
和测试断言重复的域名不应该是有效的:
require 'spec_helper'
describe Domain do
before do
@domain = FactoryGirl.create(:domain)
end
subject { @domain }
describe "when domain url is already taken" do
before do
domain_with_same_url = @domain.dup
domain_with_same_url.url = @domain.url.upcase
domain_with_same_url.save
end
it { should_not be_valid }
end
end
测试不停地进行故障:
1) Domain when domain url is already taken Failure/Error: it { should_not be_valid } expected valid? to return false, got true # ./spec/models/domain_spec.rb:31:in `block (3 levels) in '
感谢您的帮助!现在意识到我在概念上缺少一个大项目:)应该帮助我继续这个测试的东西。 – jessem 2012-03-27 21:38:08