Nice programing

Shoulda / RSpec 매처-조건부 유효성 검사

nicepro 2020. 11. 30. 19:54
반응형

Shoulda / RSpec 매처-조건부 유효성 검사


내 코드에서 Shoulda 매처를 사용하여 다음 유효성 검사를 수행했는데 제대로 작동합니다.

it { should validate_presence_of(:name) }

내 모델에서 유효성 검사에 조건을 추가했습니다.

validates_presence_of :name, :if => eligible?

유효성 검사에 반영 할 수 있습니까?

shoulda 매처에 대한 문서살펴 보았지만 솔루션을 찾을 수 없었습니다.

감사합니다!


shoulda_matchers가이 작업을 수행하는 것 같지는 않지만 직접 작성하는 것은 쉽습니다.

  context "if eligible" do
    before { allow(subject).to receive(:eligible?).and_return(true) }
    it { should validate_presence_of(:name) }
  end

  context "if ineligible" do
    before { allow(subject).to receive(:eligible?).and_return(false) }
    it { should_not validate_presence_of(:name) }
  end

참고 URL : https://stackoverflow.com/questions/13812717/shoulda-rspec-matchers-conditional-validation

반응형