0

我正在查看这里的话语源代码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 钩子中吗?他们使用的是 Fabricator 而不是 FactoryGirl - 有人可以告诉我这些是如何通过的吗?

4

1 回答 1

1

有一个隐含的主语Invite。这是一个 RSpec 功能:

最外层示例组块的第一个参数作为该示例的隐式主题可供每个示例使用。

https://www.relishapp.com/rspec/rspec-core/v/2-0/docs/subject/implicit-subject

于 2013-04-22T19:27:10.127 回答