ruby on rails - include statement works in spec, not in rake task -


i have module stored in root/vendor/app_name/lib/qa.rb , rake task in root/vendor/app_name/lib/qa.rake

this top of qa.rb

module qa   include module1, module2    ...  end 

and top of rake task has require 'qa'

module2 , module1 both stored in root/vendor/app_name/app/models/module_name

when run test, stored in root/spec/app_name/unit/qa/qa_spec.rb, tests pass.

when run rake task calls method in qa.rb, following error:

nameerror: uninitialized constant qa::module1 /root/vendor/app_name/lib/qa.rb:2:in `<module:qa>' /root/vendor/app_name/lib/qa.rb:1:in `<top (required)>' /root/vendor/app_name/lib/tasks/qa.rake:2:in `block in <top (required)>' /root/vendor/app_name/lib/tasks/qa.rake:1:in `<top (required)>' /var/lib/gems/2.1.0/gems/zeus-0.15.3/lib/zeus/load_tracking.rb:50:in `load' /var/lib/gems/2.1.0/gems/zeus-0.15.3/lib/zeus/load_tracking.rb:50:in `load' /var/lib/gems/2.1.0/gems/zeus-0.15.3/lib/zeus/load_tracking.rb:43:in `load' /var/lib/gems/2.1.0/gems/railties-4.1.8/lib/rails/engine.rb:654:in `block in run_tasks_blocks' /var/lib/gems/2.1.0/gems/railties-4.1.8/lib/rails/engine.rb:654:in `each' /var/lib/gems/2.1.0/gems/railties-4.1.8/lib/rails/engine.rb:654:in `run_tasks_blocks' /var/lib/gems/2.1.0/gems/railties-4.1.8/lib/rails/application.rb:383:in `block in run_tasks_blocks' /var/lib/gems/2.1.0/gems/railties-4.1.8/lib/rails/engine/railties.rb:13:in `each' /var/lib/gems/2.1.0/gems/railties-4.1.8/lib/rails/engine/railties.rb:13:in `each' /var/lib/gems/2.1.0/gems/railties-4.1.8/lib/rails/application.rb:383:in `run_tasks_blocks' /var/lib/gems/2.1.0/gems/railties-4.1.8/lib/rails/engine.rb:449:in `load_tasks' /vagrant/rakefile:6:in `<top (required)>' 

why getting error here not in test?

try describe rake task as

task qa: :environment   ... end 

that tell rake load application environment


Comments

Popular posts from this blog

ruby - Trying to change last to "x"s to 23 -

jquery - Clone last and append item to closest class -

c - Unrecognised emulation mode: elf_i386 on MinGW32 -