用存根更新旧的 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种创建测试替身的方法:mock
、stub
和double
。在RSpec 3中,我们删除了 mock
和 stub
以仅支持 double
,并构建了更多使用 double
命名法的功能(例如验证双打 - 见下文)。
当然,虽然 RSpec 3 不再提供 double
的 mock
和 stub
别名,但如果您想继续使用它们,很容易自行定义这些别名." (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
我有一些教程中的代码,但我 运行 遇到了问题,现在它正在使用存根将其更新为当前的 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种创建测试替身的方法:mock
、stub
和double
。在RSpec 3中,我们删除了 mock
和 stub
以仅支持 double
,并构建了更多使用 double
命名法的功能(例如验证双打 - 见下文)。
当然,虽然 RSpec 3 不再提供 double
的 mock
和 stub
别名,但如果您想继续使用它们,很容易自行定义这些别名." (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