[英]No MiniTest rake tasks in rails 4
我正在尝试使用minitest创建一个新的Rails 4.1.4应用程序(Ruby 2.1.2)。 按照下面显示的说明操作后,当我运行rake -T
它没有显示任何最小的rake任务。
我在这里缺少什么吗?
1)添加到Gemfile
group :test do
gem 'minitest-rails'
gem 'minitest-rails-capybara'
gem 'minitest-colorize'
gem 'minitest-focus'
end
2) bundle
3)添加到test/test_helper.rb
(在require "rails/test_help"
)
require 'minitest/rails'
require 'minitest/rails/capybara'
require 'minitest/focus'
require 'minitest/colorize'
4)从config/application.rb
删除require 'rails/all'
5)添加到config/application.rb
require "active_record/railtie"
require "action_controller/railtie"
require 'rake/testtask'
require "action_mailer/railtie"
require "sprockets/railtie"
require "minitest/rails/railtie"
然后,我运行rake -T
,它返回一个rake任务列表,其中不包含任何最小测试任务。
由于2.0 minitest-rails不会添加minitest
rake任务。 使用默认的rails test
rake任务。 请参阅自述文件中有关运行测试的部分。
另外,如果您在config/application.rb
中包含minitest-rails Railtie,则不应将依赖项放在Gemfile
中的:test
组中。
我对你的问题有点困惑。 您是要添加自定义的最小测试任务,还是仅添加常规测试(例如瑞克测试)? Rails 4应该已经带有minitest作为ActiveSupport的依赖项。 在您的Gemfile.lock文件中,检查minitest是否在activesupport下。 我的看起来像这样:
activesupport (4.1.0)
i18n (~> 0.6, >= 0.6.9)
json (~> 1.7, >= 1.7.7)
minitest (~> 5.1)
如果不是,请尝试运行捆绑安装以查看是否已安装所有依赖项。
最后,(尽管您可能知道),任务不会说minitest。 它们将是“测试”,就像“瑞克测试”一样,因此,如果这是您感到困惑的(我不能根据问题真的告诉我),那么只需确保瑞克测试有效并且就可以了。
也许因为您将gem 'minitest-rails'
放入了测试组,并且默认情况下倾斜了RAILS_ENV=development
,所以您需要执行以下操作:
RAILS_ENV=test bundle exec rake -T
或只是从测试组中gem 'minitest-rails'
,因为该行在require "minitest/rails/railtie"
。无论如何,它将始终尝试加载它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.