用存根更新旧的 rspec 语法

updating old rspec syntax with stubs

我有一些教程中的代码,但我 运行 遇到了问题,现在它正在使用存根将其更新为当前的 rspec 语法。有问题的代码相对简单,取自教师规范文件。如何针对当前语法更新这段代码。

describe Teacher do 
    it "should store assignments" do
        student = stub
        assignment = stub
        subject.submit_assignment(student, assignment)
        expect(subject.assignment_for_student(student)).to eq(assignment)
    end

”历史上,rspec-mocks提供了3种创建测试替身的方法:mockstubdouble。在RSpec 3中,我们删除了 mockstub 以仅支持 double,并构建了更多使用 double 命名法的功能(例如验证双打 - 见下文)。 当然,虽然 RSpec 3 不再提供 doublemockstub 别名,但如果您想继续使用它们,很容易自行定义这些别名." (source)

因此,您只需将 stub 调用更改为 double:

RSpec.describe Teacher do
  it 'stores assignments' do
    student = double
    assignment = double
    subject.submit_assignment(student, assignment)
    expect(subject.assignment_for_student(student)).to eq(assignment)
  end
end