And*_*eko 1 rspec rspec-rails ruby-on-rails-4.2
我的中有以下内容rails_helper.rb:
RSpec.configure do |config|
# ...
config.before(:each, type: :controller) do
# SOMETHING
end
end
Run Code Online (Sandbox Code Playgroud)
我想定义SOMETHING适用的目录(在我的例子中仅适用于spec/controllers/api目录下的文件)。
有机会实现这一目标吗?
您可以为RSpec 过滤器使用更专业的名称:
RSpec.configure do |config|
# ...
config.before(:each, subtype: :controllers_api) do
# SOMETHING
end
end
Run Code Online (Sandbox Code Playgroud)
然后在 中的 RSpec 示例中spec/controllers/api,添加一些元数据:
RSpec.describe "something", subtype: :controllers_api do
end
Run Code Online (Sandbox Code Playgroud)
这SOMETHING将仅在具有元数据的示例上运行subtype: :controllers_api。
要自动从文件位置导出元数据,请define_derived_metadata像这样使用:
RSpec.configure do |config|
# Tag all groups and examples in the spec/controllers/api directory
# with subtype: :controllers_api
config.define_derived_metadata(file_path: %r{/spec/controllers/api}) do |metadata|
metadata[:subtype] = :controllers_api
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1242 次 |
| 最近记录: |