2016-06-14 35 views
0

validate_presence_of使用早該/ RSpec的我得到這些長期和重複的代碼塊多屬性測試喜歡你的:RSpec的/早該validate_presence_of多個屬性語法

it { should validate_presence_of(:text) } 
it { should validate_presence_of(:user) } 
it { should validate_presence_of(:commentable) } 
[...] 

有沒有辦法變幹這個嗎?這樣的事情:

it { should validate_presence_of(:text, :user, :commentable,...) } 

回答

1

據我所知,沒有什麼內置的應該爲此。通常,您會希望將選項鍊接到應用宏,例如.with_message(...),所以你的語法建議將不可能用於這些情況。

你可以代替這樣做:

[:text, :user, :commentable].each do |field| it { should validate_presence_of(field) } end

不過,我不會太擔心有重複的一點點在你的測試套件,方便閱讀的目的和維護。