这是我的课程工厂i-e lesson.rb
FactoryGirl.define do
factory :lesson do |lesson|
lesson.sequence(:title) { |n| "title#{n}" }
lesson.sequence(:description) { |n| "description#{n}" }
lesson.sequence(:transcript) { |n| "transcript#{n}" }
association :course, strategy: :build
end
end
这是我的lesson_spec.rb文件
require 'spec_helper'
describe Lesson do
before { let(:lesson) { FactoryGirl.create(:lesson) } }
subject (:lesson)
it { should validate_presence_of :title }
end
任何帮助?在此先感谢!!!
答案 0 :(得分:0)
你不需要在前一个块中的before语句。
before { let(:lesson) { FactoryGirl.create(:lesson) } }
更改为
let(:lesson) { FactoryGirl.create(:lesson)
答案 1 :(得分:0)
简单的你以前不需要让它,你要么使用before
或let
我更愿意使用let,看看this answerexplainin何时使用let和何时使用之前。
require 'spec_helper'
describe Lesson do
let(:lesson) { FactoryGirl.create(:lesson) }
subject (lesson)
it { should validate_presence_of :title }
end
答案 2 :(得分:0)
我是这样做的,它有效
require 'spec_helper'
describe Lesson do
subject { FactoryGirl.create(:lesson) }
it { should validate_presence_of :title }