Dre*_*ker 2 ruby rspec ruby-on-rails
let并let!提供有用的功能。有时可能需要在不同的规范中包含相同的助手(DRY)。例如,一组 let 以某种方式包含在每个请求规范中。有办法做这样的事情吗?
您可以定义一个shared_context:
# shared_stuff.rb
shared_context "shared stuff" do
let(:shared_let) { "foo" }
end
Run Code Online (Sandbox Code Playgroud)
并在各种示例中使用它:
# example.rb
require_relative "shared_stuff.rb"
describe "an example" do
include_context "shared stuff"
it "has access to shared lets" do
expect(shared_let).to eq("foo")
end
end
Run Code Online (Sandbox Code Playgroud)
输出:
$ rspec example.rb
an example
has access to shared lets
Finished in 0.00076 seconds (files took 0.11233 seconds to load)
1 example, 0 failures
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
694 次 |
| 最近记录: |