繁体   English   中英

Rails 4中没有MiniTest Rake任务

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM