rspec
3 レベルの深さのネストされたモデルを使用して、モデル スペック テストを作成しています。それぞれが関係->
を表していhas_many
ます。
Users->Goals->Milestones
現在、私のspec/models/milestone_spec.rb
テストはbe_valid
チェックに失敗しており、なぜこれが起こっているのか少し困惑しています。
Failures:
1) Milestone
Failure/Error: it { should be_valid }
expected valid? to return true, got false
# ./spec/models/milestone_spec.rb:17:in `block (2 levels) in <top (required)>'
仕様自体:
describe Milestone do
let(:user) { FactoryGirl.create(:user) }
let(:goal) { user.goals.build(content: "Loreum Ipsum", amount: "30", interval: 2) }
before do
@milestone = goal.milestones.build(amount: "20")
end
subject { @milestone }
it { should respond_to(:goal_id) }
it { should respond_to(:amount) }
# not sure why this isn't working
it { should be_valid }
の作成方法に問題があるの@milestone
でしょうか。試してみましgoal.milestones.new
たが、違いはないようです。以下の仕様では、フィールドを適切に検証するためのいくつかのテストがあり、それらは正常に実行されます。
何か案は?