Rails测试VS Rails 5中的rake测试

Oko*_*uko 5 ruby ruby-on-rails railstutorial.org ruby-on-rails-5

因此,我正在尝试Rails 5,并且几乎没有区别,例如可以rails代替和rake等命令使用testdb:*但是,我遇到了一个奇怪的问题:

如果我运行:$ rails test我收到以下错误:

Running via Spring preloader in process 30936
/usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require': cannot load such file -- minitest/reporters (LoadError)
    from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `block in require'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
    from /home/ubuntu/workspace/stitched_up_site/test/test_helper.rb:4:in `<top (required)>'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `block in require'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
    from /home/ubuntu/workspace/stitched_up_site/test/controllers/static_pages_controller_test.rb:1:in `<top (required)>'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `block in require'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/test_unit/test_requirer.rb:11:in `block in require_files'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/test_unit/test_requirer.rb:10:in `each'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/test_unit/test_requirer.rb:10:in `require_files'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/test_unit/minitest_plugin.rb:76:in `plugin_rails_init'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/minitest-5.9.0/lib/minitest.rb:80:in `block in init_plugins'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/minitest-5.9.0/lib/minitest.rb:78:in `each'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/minitest-5.9.0/lib/minitest.rb:78:in `init_plugins'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/minitest-5.9.0/lib/minitest.rb:129:in `run'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/commands/test.rb:9:in `<top (required)>'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `block in require'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/commands/commands_tasks.rb:138:in `require_command!'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/commands/commands_tasks.rb:95:in `test'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/commands/commands_tasks.rb:49:in `run_command!'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/commands.rb:18:in `<top (required)>'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `block in require'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
    from /home/ubuntu/workspace/stitched_up_site/bin/rails:9:in `<top (required)>'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:287:in `load'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:287:in `block in load'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
    from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:287:in `load'
    from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from -e:1:in `<main>'
Run Code Online (Sandbox Code Playgroud)

但是,如果我$ rake test在相同条件下运行,它将按照我期望的方式运行。

小智 0

我猜:

  • rake test在执行测试之前执行一些相关任务。
  • rails test没有。