有什么方法可以为所有控制器测试加载一些工厂吗?我有一些对于所有控制器测试(菜单项)都是必需的,我不喜欢将它们都单独放在控制器中。不是很干:)
谢谢
有什么方法可以为所有控制器测试加载一些工厂吗?我有一些对于所有控制器测试(菜单项)都是必需的,我不喜欢将它们都单独放在控制器中。不是很干:)
谢谢
也许你可以看看 rspec 的共享上下文,在这里突出显示:https ://www.relishapp.com/rspec/rspec-core/v/2-11/docs/example-groups/shared-context
创建一个RSpec 宏。
user
用作您要使用的工厂,这是您要放入的示例spec/support/controller_macros.rb
:
module ControllerMacros
let!(:user) { FactoryGirl.create :user }
end
在您spec/spec_helper.rb
包含控制器的宏中:
RSpec.configure do |config|
config.extend ControllerMacros, :type => :controller
end
let!
就像let
在before
块中引用它一样。
这ControllerMacros
也是添加sign_in
方法等内容的便捷位置。
您也可以将共享示例放入其中spec/support
。