use*_*697 15 ruby-on-rails ruby-on-rails-3
我忘了使用-T参数创建我的应用程序,现在它已经安装了test :: unit.在创建应用程序之后,如何删除test :: unit并阻止它为生成的每个控制器/模型创建测试?谢谢
dog*_*unk 12
在你的config/application.rb中试试
config.generators do |g|
g.test_framework :rspec #=> or whatever
end
Run Code Online (Sandbox Code Playgroud)
回应评论
尝试
config.generators do |g|
g.test_framework nil
end
Run Code Online (Sandbox Code Playgroud)
可能不是"最合适"或Rails-ish方式,但它有效
更新
我今天正在阅读Rails初始化指南,并意识到Test :: Unit最可能的原因仍然是这一行:
require 'rails/all'
哪个可以替换为:
require "active_record/railtie"
require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
Run Code Online (Sandbox Code Playgroud)
这应该解决这个问题.如果您使用的是Rails 3.1.x,那么您还需要包括
require "sprockets/railtie"
Run Code Online (Sandbox Code Playgroud)
如果您打算使用资产管道.
更新2
对于Rails 3.2,你应该使用这个:
config.app_generators do |c|
c.test_framework :rspec, :fixture => true,
:fixture_replacement => nil
c.integration_tool :rspec
c.performance_tool :rspec
end
Run Code Online (Sandbox Code Playgroud)
小智 7
删除测试:Rails 4中的单位:
从config/application.rb替换以下行:
require 'rails/all'
Run Code Online (Sandbox Code Playgroud)
附:
require "active_record/railtie"
require "action_controller/railtie"
require "action_mailer/railtie"
require "sprockets/railtie"
Run Code Online (Sandbox Code Playgroud)
您也可以安全地删除测试目录.
rails new APP_NAME --skip-test-unit
在Rails 4中构建一个新的应用程序导致:
require "rails"
# Pick the frameworks you want:
require "active_model/railtie"
require "active_job/railtie"
require "active_record/railtie"
require "action_controller/railtie"
require "action_mailer/railtie"
require "action_view/railtie"
require "sprockets/railtie"
# require "rails/test_unit/railtie"
Run Code Online (Sandbox Code Playgroud)
开启Rails 6
替换config/application.rb
require 'rails/all'
Run Code Online (Sandbox Code Playgroud)
为了:
require "rails"
# Pick the frameworks you want:
require "active_model/railtie"
require "active_job/railtie"
require "active_record/railtie"
require "active_storage/engine"
require "action_controller/railtie"
require "action_mailer/railtie"
require "action_mailbox/engine"
require "action_text/engine"
require "action_view/railtie"
require "action_cable/engine"
require "sprockets/railtie"
# require "rails/test_unit/railtie"
Run Code Online (Sandbox Code Playgroud)
像这样添加config.generators.system_tests = nil
到应用程序块:
module YourApp
class Application < Rails::Application
...
...
# Don't generate system test files.
config.generators.system_tests = nil
end
end
Run Code Online (Sandbox Code Playgroud)
在Rails 5.1和Rails 5.2上
在 config/application.rb
删除或注释掉
require 'rails/all'
Run Code Online (Sandbox Code Playgroud)
然后包括
require "rails"
# Pick the frameworks you want:
require "active_model/railtie"
require "active_job/railtie"
require "active_record/railtie"
require "action_controller/railtie"
require "action_mailer/railtie"
require "action_view/railtie"
require "action_cable/engine"
require "sprockets/railtie"
# require "rails/test_unit/railtie"
Run Code Online (Sandbox Code Playgroud)
此外,如果您不希望生成系统测试文件,请添加以下内容:
# Don't generate system test files.
config.generators.system_tests = nil
Run Code Online (Sandbox Code Playgroud)
完成后,您可以删除该test
目录
归档时间: |
|
查看次数: |
7993 次 |
最近记录: |