2
私は、多くのPerformedExercisesを持つWorkoutモデルを持っていますが、これには多くのPeformedSetsがあります。私はテストでオブジェクトを構築することができません.SQLite3か他のもの(テスト環境外ではうまく動作します)がわかりません。FactoryGirlでRSpecでテストオブジェクトを作成するとネストされた属性で失敗する
私は次の工場を持っている:
FactoryGirl.define do
factory :workout do
title 'workout one'
performed_exercise
end
factory :performed_exercise do
exercise_id '2'
performed_set
end
factory :performed_set do
set_number '1'
end
end
マイRSpecのテストは、(テスト内部の他の問題を除外するように、私はそれが本当のシンプルな作りました)ので、次のようになります。
it "is causing me to lose hair" do
wrkt = FactoryGirl.build(:workout)
end
私は、テストを実行すると
、私は次のようなエラーメッセージが出ます:
Failure/Error: wrkt = FactoryGirl.build(:workout)
ActiveRecord::StatementInvalid:
SQLite3::ConstraintException: constraint failed:
INSERT INTO "performed_sets" ("created_at", "notes", "performed_exercise_id", "reps", "set_number", "updated_at", "weight")
VALUES (?, ?, ?, ?, ?, ?, ?)
を任意の助けいただければ幸いです!
私は同じコードをコンソール(またはアプリケーション)上でpostgres経由で実行できるため、この問題はsqlite固有のものかどうか疑問に思っています –