以下规范确保项目具有用户:
it "requires a user" do
expect(FactoryGirl.build_stubbed(:project, user_id: nil)).to_not be_valid
end
但由于某种原因,我也觉得有必要做以下事情:
context "user identity" do
let(:temp) { FactoryGirl.build_stubbed(:user) }
subject(:project) { FactoryGirl.build_stubbed(:project, user: temp) }
its(:user){ should == temp }
end
我知道我需要第一次测试,但我开始怀疑第二次是否浪费时间,特别是因为关联是由控制器处理的:
@project = current_user.projects.build
第二次测试没有意义吗?似乎它只是测试我的工厂比什么都重要。