を失敗:ファクトリー・ガールは、私は、次のタスクモデル持っている存在の検証
class Task < ApplicationRecord
validates :body, presence: true, length: { minimum: 10 }
validates :complete, presence: true
end
とFactoryGirlオブジェクト生成コードに続く:私の仕事で
FactoryGirl.define do
factory :incomplete_task, class: :Task do
body { Faker::Pokemon.name + Faker::Pokemon.name }
complete false
factory :complete_task do
complete true
end
end
end
コントローラテストを、私は持っている:
describe '#update' do
it 'toggles completion' do
incomplete_task = create :incomplete_task
toggle_completion(incomplete_task)
expect(incomplete_task.complete).to be_true
end
end
を
ただし、フィールド 'complete'がFGによって作成されたタスクオブジェクトに存在しないため、これは失敗します。
Failures:
1) TasksController#update toggles completion
Failure/Error: incomplete_task = create :incomplete_task
ActiveRecord::RecordInvalid:
Validation failed: Complete can't be blank
ここでは何が起こっていますか?私は適切な属性を適切に設定しています。ボディーは正常にチェックアウトされています。ここでタスクスキーマも同様である。Rubyで
# Table name: tasks
#
# id :integer not null, primary key
# created_at :datetime not null
# updated_at :datetime not null
# body :text
# complete :boolean