我正在尝试测试rake任务,它在其中使用了 Activity 记录。

require 'spec_helper'
require 'rake'

load File.join(Rails.root, 'lib', 'tasks', 'survey.rake')

describe "survey rake tasks" do
  describe "survey:send_report" do
    it "should send a report" do
      Rake::Task['survey:send_report'].invoke
    end
  end
end

运行此规范rspec spec/lib/survey_spec.rb时,出现此错误“
RuntimeError:
   Don't know how to build task 'environment'

如何通过示例规范在内部加载:enviroment任务?

最佳答案

我认为您应该首先加载任务:

require 'rake'
MyRailsApp::Application.load_tasks

然后调用您的任务:
Rake::Task['survey:send_report'].invoke

关于ruby-on-rails - 在Rails环境下使用Rspec测试Rake任务,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12686282/

10-12 01:25
查看更多