【发布时间】:2015-02-15 04:39:11
【问题描述】:
我正在使用 RSpec/Capybara。 我正在同一个规范文件中编写共享示例。我想将共享示例放在功能之后,因为共享示例很长。
但是,如果我将共享示例放在功能下方,RSpec 会抱怨它无法找到共享示例。有什么方法可以实现吗?
【问题讨论】:
标签: ruby-on-rails capybara rspec2
我正在使用 RSpec/Capybara。 我正在同一个规范文件中编写共享示例。我想将共享示例放在功能之后,因为共享示例很长。
但是,如果我将共享示例放在功能下方,RSpec 会抱怨它无法找到共享示例。有什么方法可以实现吗?
【问题讨论】:
标签: ruby-on-rails capybara rspec2
这个问题已经有一年了,但想提一下 rspecs shared examples 是使用普通模块的替代方案。基本上,您使用it_behaves_like "my_concern" 定义可以包含在任何规范文件中的模块('关注')
请参阅this question,了解一个很好的例子。
【讨论】:
一种常见的做法是在模块中定义共享示例的代码,并通过配置包含它。这样,您就有了清晰的代码分离和重用。
在规范/支持/xyz.rb 中
module SomeSharedExamples
[...]
end
在你的spec_helper.rb
config.include SomeSharedExamples
【讨论】: