簡體   English   中英

我的默認Rails環境是否設置為要測試?

[英]Is my default rails environment set to test?

每次運行rake db:migrate時,當我嘗試使用rake做其他任何事情時,都會收到以下錯誤:

(work)doctorly:job_app$ rake
rake aborted!
ActiveRecord::PendingMigrationError: 

Migrations are pending. To resolve this issue, run:

    bin/rake db:migrate RAILS_ENV=test

/home/doctorly/.rvm/gems/ruby-2.2.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:393:in `check_pending!'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:406:in `load_schema_if_pending!'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:412:in `block in     maintain_test_schema!'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:640:in `suppress_messages'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:417:in `method_missing'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:412:in `maintain_test_schema!'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/test_help.rb:19:in `<top (required)>'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:274:in `require'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:274:in `block in require'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:240:in `load_dependency'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:274:in `require'
/var/host/media/removable/SD Card/work/job_app/test/test_helper.rb:3:in `<top (required)>'
/var/host/media/removable/SD Card/work/job_app/test/controllers/welcome_controller_test.rb:1:in   `require'
/var/host/media/removable/SD Card/work/job_app/test/controllers/welcome_controller_test.rb:1:in `<top (required)>'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/test_unit/sub_test_task.rb:114:in `require'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/test_unit/sub_test_task.rb:114:in `block (3 levels) in define'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/test_unit/sub_test_task.rb:114:in `each'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/test_unit/sub_test_task.rb:114:in `block (2 levels) in define'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/test_unit/sub_test_task.rb:113:in `each'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/test_unit/sub_test_task.rb:113:in `block in define'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/test_unit/sub_test_task.rb:20:in `invoke_rake_task'
/home/doctorly/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/test_unit/testing.rake:8:in `block in <top (required)>'
Tasks: TOP => test:run

並且我繼續收到此錯誤,直到運行rake db:migrate RAILS_ENV=test為止。 如何解決此問題,這樣我就不必每次遷移都運行第二次遷移?

我的默認Rails環境是否設置為要測試?

不,你的軌道運行測試。

當您不帶任何參數運行rake時,它將運行默認任務,而使用Rails則意味着運行測試。 您需要設置測試環境以運行它們。 如果您不運行測試,請不要運行rake ,請給它一個實際的命令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM