首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在视图规范之间共享代码

在视图规范之间共享代码
EN

Stack Overflow用户
提问于 2011-11-13 20:21:43
回答 2查看 1.3K关注 0票数 5

对于给定的Rails (3)控制器,我有几个视图规范: edit、index、new、show,我希望在它们之间共享一些样板设置代码。我希望避免将其放在spec_helper.rb文件中。有什么想法吗?

更具体地说,在spec/views/step中,我有四个文件:{edit,new,show,index}.html.erb_spec.rb。我想让他们共享一些代码,例如

代码语言:javascript
运行
复制
  let(:workflow) do
    document = Factory.create(:document)
    document.user = user
    document.save!
    document.workflow
  end

例如,确切的代码并不重要。我想在不把它放到spec_helper.rb中的情况下这样做。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-14 02:22:33

你会发现rspec正好可以做到这一点:shared context

它将允许您执行以下操作

代码语言:javascript
运行
复制
shared_context 'workflow' do
  let(:workflow) do
    document = Factory.create(:document)
    document.user = user
    document.save!
    document.workflow
  end
end

如果您需要在不同的规范文件之间共享此代码,请将此代码写入存储在spec/support中的文件中。在你的测试中,你可以这样写:

代码语言:javascript
运行
复制
describe 'Something' do
  include_context 'workflow'

  it 'behaves correctly' do
    ...
  end
end

希望这能有所帮助。

票数 5
EN

Stack Overflow用户

发布于 2011-11-14 03:17:11

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8111480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档