繁体   English   中英

在RSpec中多次运行Rake任务返回nil?

[英]Running Rake tasks in RSpec multiple times returns nil?

我猜这与Rake读取文件一次而不是倒带有关吗? 但是,我不确定。 有任何想法吗?

require 'rake'
require 'rails_helper'

describe 'MyRakeTask' do

  before(:all) do
    Rails.application.load_tasks
  end

  it 'does something sweet' do
    Rake::Task["namespace:my_task"].invoke # runs task
  end

  it 'but it doesnt do it again' do
    Rake::Task["namespace:my_task"].invoke # returns nil
  end

end

Rake文档说invoke仅在“需要”时运行任务。 以下内容来自另一个SO 答案 ,可能有助于澄清:

  • Rake :: Task [“build”]。执行总是执行任务,但它不执行其依赖项

  • Rake :: Task [“build”]。invoke执行依赖项,但它只在尚未调用的情况下执行任务

  • Rake :: Task [“build”]。reenable首先重置任务的already_invoked状态,然后允许任务再次执行,依赖项和所有。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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