1
我有一個自定義的驗證器(位於應用程序/驗證/ uri_validator.rb),其適用於:Rspec的/早該:測試,一個自定義驗證被稱爲
validates :link, uri: true
如何在指定本我眼鏡?
理想我想有一個線路上的呼叫,如:
it { should validate_uri_of(:link) }
我該怎麼辦呢?
我有一個自定義的驗證器(位於應用程序/驗證/ uri_validator.rb),其適用於:Rspec的/早該:測試,一個自定義驗證被稱爲
validates :link, uri: true
如何在指定本我眼鏡?
理想我想有一個線路上的呼叫,如:
it { should validate_uri_of(:link) }
我該怎麼辦呢?
另一種選擇是使用allow_value
匹配,雖然不理想也可以在某些情況下工作。
it { should allow_value(value_which_is_valid).for(:link) }
it { should_not allow_value(value_which_is_invalid).for(:link) }
使用工廠女孩建立一個模型對象與無效的數據和一個有效的數據,並調用be_valid匹配器。
#factory girl
build(:model, link: valid_uri).should be_valid
build(:model, link: invalid_uri).should_not be_valid
我試着在測試過程中不嘗試擊中數據庫。 – krn
使用'build'工廠女孩不會碰到數據庫,它會創建一個未保存的模型。 – nmott