這應該是簡單,但我想不出爲什麼它不工作。我在這裏看到了許多更復雜的獨特構造。我有專欄,應該是一個獨特的索引。我在模型中指定了兩次,只是測試選項,但我對唯一性的測試仍然失敗。軌道4型號列唯一不工作
模型驗證碼:
validates :feed_url, presence:true,
format: {with: VALID_URL_REGEX},
uniqueness: true
validates_uniqueness_of :feed_url
的RSpec代碼:
before do
@feed = FactoryGirl.create(:feed)
end
...
describe "when URL is already taken" do
before do
feed_with_same_url = @feed.dup
feed_with_same_url.feed_url = @feed.feed_url
feed_with_same_url.save
end
it { should_not be_valid }
end
保存不應該是有效的,但由於模型說,這是有效的,即使字段相等的測試失敗。我已經檢查了自己的字段在斷點處,他們是完全的情況下,長度,價值相同的,等
試驗存在和正則表達式的有效性的工作完美,所以該模型的工作。
我試圖做到這一點的模型,而不是指數。我相信我昨晚讀了Rails 4更喜歡(棄用?)代碼中的這些測試,而不是數據庫,但是我今晚找不到這個源代碼。 (?)無論哪種方式,我希望看到模型的工作。
只是一個快速的音符,可能無法幫助您爲這個特殊的問題,但可以幫助你爲你的測試,看看一個早該-匹配器:https://github.com/thoughtbot/shoulda- matchers – Benj
看起來很有趣,謝謝你。正如你可以通過這個線程看到的那樣,我現在在測試方法上有點超載。但是,以後我會把它保存在我的包裏。 –