Rob*_*oss 6 ruby rspec ruby-on-rails
我正在使用rspec-rails,但是我想在rails g controller Blahs调用时更改,我想要spec/requests /创建,而不是spec/controllers /.
谢谢!
似乎没有通常的方法来实现这一点,但是我发现了猴子修补解决方案:
# config/initializers/generators.rb
Rails.application.configure do
config.generators do |g|
# your setup here, like g.javascripts = false
end
def self.load_generators(*)
super
require 'rails/generators/rails/controller/controller_generator'
Rails::Generators::ControllerGenerator.class_eval do
remove_hook_for :test_framework
hook_for :test_framework, as: :request
end
end
end
Run Code Online (Sandbox Code Playgroud)
这里有一些解释:测试框架的钩子在ControllerGenerator中设置,所以我们需要加载类来覆盖值.除了运行生成器之外,我不想在任何情况下加载此类.config.generators阻止运行控制台和服务器,所以它不合适.还有self.generators块,但它之前运行,config.generators并且不配置生成器.所以我找到了Engine#load_generators适合我的方法.
使用rails 5.0.1进行测试.
我认为你实际上无法配置它,但你总是可以分叉 rspec-rails 并根据你的喜好调整它https://github.com/rspec/rspec-rails/blob/master/lib/generators/rspec/controller/控制器生成器.rb
祝你好运!
| 归档时间: |
|
| 查看次数: |
2354 次 |
| 最近记录: |