3

に相当するものはありますか

  it { should validate...


  it { should validate_uniqueness_of(

など

 validates_associated

何かのようなもの、

it { should validate_associate(:associated_model_object)

ただし、機能的です。

ありがとう!

4

2 に答える 2

5

私はこのようなものがうまくいくと思います:

it "should validate associate_model_object" do
  m = Model.new(valid_params)
  m.associated_models.build(invalid_params)
  m.save.should eq(false)
end

反対方向から来ている場合は、真ん中の線をこれに置き換えます。

m.build_associated_model(invalid_params)
于 2013-01-15T01:29:15.850 に答える
0

validates_associated の組み込みマッチャーがないので、次のように書きました。

it { is_expected.not_to validate_presence_of(:child) }

context 'when child is present' do
  let(:child) { FactoryBot.create(:child) }
  before { subject.child = child }
  it { is_expected.to be_valid }

  context 'when child is present but not valid' do
    before { child.age = -1 }
    it { is_expected.not_to be_valid }
  end
end

この行:の検証before { child.age = -1 }に関する知識が必要です。これはの単体テストChildのコンテキストからは理想的ではありませんが、私が今まで犯した最悪のプログラミングの罪ではないことは確かです。Parent

于 2021-12-07T22:12:20.923 に答える