对于给定的Rails(3)控制器,我有几种视图规格:编辑,索引,新建,显示,我希望在它们之间共享一些样板设置代码。我想避免将其放在spec_helper.rb文件中。有任何想法吗?
更具体地说,在spec / views / steps中,我有四个文件:{edit,new,show,index} .html.erb_spec.rb。我希望他们共享一些代码,例如
let(:workflow) do
document = Factory.create(:document)
document.user = user
document.save!
document.workflow
end
Run Code Online (Sandbox Code Playgroud)
例如-确切的代码无关紧要。我想这样做而不将其放在spec_helper.rb中。
您会发现rspec具有与此相关的功能:共享上下文。
它可以让你做这样的事情
shared_context 'workflow' do
let(:workflow) do
document = Factory.create(:document)
document.user = user
document.save!
document.workflow
end
end
Run Code Online (Sandbox Code Playgroud)
如果您需要在不同的规范文件之间共享此文件,请将其写在您存储在其中的文件中spec/support。在测试中,您可以编写:
describe 'Something' do
include_context 'workflow'
it 'behaves correctly' do
...
end
end
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
1186 次 |
| 最近记录: |