使用当前示例
您可以参考示例对象并访问其元数据,使用提供给以下对象的块参数:it
、subject
、let
以及 before
、after
和 around
钩子。
从示例中访问 example
对象
假设有一个名为“spec/example_spec.rb”的文件,其中包含
RSpec.describe "example as block arg to it, before, and after" do
before do |example|
expect(example.description).to eq("is the example object")
end
after do |example|
expect(example.description).to eq("is the example object")
end
it "is the example object" do |example|
expect(example.description).to eq("is the example object")
end
end
RSpec.describe "example as block arg to let" do
let(:the_description) do |example|
example.description
end
it "is the example object" do |example|
expect(the_description).to eq("is the example object")
end
end
RSpec.describe "example as block arg to subject" do
subject do |example|
example.description
end
it "is the example object" do |example|
expect(subject).to eq("is the example object")
end
end
RSpec.describe "example as block arg to subject with a name" do
subject(:the_subject) do |example|
example.description
end
it "is the example object" do |example|
expect(the_subject).to eq("is the example object")
expect(subject).to eq("is the example object")
end
end
当我运行 rspec spec/example_spec.rb
那么示例应该通过。