我在这里查看话语源代码https://github.com/discourse/discourse/blob/master/spec/models/invite_spec.rb并查看如下代码:
要求'spec_helper'
describe Invite do
it { should belong_to :user }
it { should have_many :topic_invites }
it { should belong_to :invited_by }
it { should have_many :topics }
it { should validate_presence_of :email }
it { should validate_presence_of :invited_by_id }
我不熟悉他们获得it
的价值的地方。看起来他们在这里有一个隐含的对象,但是我没有看到他们在哪里创建它 - 这应该在before hook中吗?他们使用的是Fabricator而不是FactoryGirl - 有人可以告诉我这些是如何传递的吗?
答案 0 :(得分:1)
有Invite
的隐含主题。这是RSpec功能:
最外面的示例组块的第一个参数是 每个例子都可以作为一个隐含的主题 那个例子。
请参阅https://www.relishapp.com/rspec/rspec-core/v/2-0/docs/subject/implicit-subject