0

如何在此代码中从should更改expect为:-it

context 'class_name' do
  before do
    Fabricator(:some_company, :class_name => Company) do
      name 'Hashrocket'
    end
  end
  after { Fabrication.clear_definitions }
  its(:name) { should == 'Hashrocket' }
  it { should be_kind_of(Company) }
end

我可以看到its可能是:

 expect(name.to eq 'Hashrocket')

it { should be_kind_of(Company) }但是给定隐含的主题应该变成什么。
可不可能是

  expect(it).to be_kind_of(Company) 

?

我还没有从 github 建立项目(它很大)。

4

1 回答 1

1

没有理由将短格式it块更改为expect语法。新语法的原因之一是避免添加should到每个对象所需的猴子补丁。短格式it块已经避免了这个问题。

但是,如果您需要访问隐式主题,您可以说

expect(subject).to be_kind_of(Company)

虽然我更喜欢明确命名我的主题:

subject(:company) { Company.new }

it 'something' do
  expect(company).to be_kind_of(Company)
end
于 2013-10-27T14:23:43.507 回答