在RSpec中两次调用相同的rake任务

时间:2014-03-25 15:31:16

标签: ruby rspec

我正在尝试使用rspec测试rake任务,为此我需要调用它两次但是 它只被调用一次。

it 'first test' do
    Rake::Task['my_rake_task'].invoke
    # rake task was processed
end

it 'second test' do
    Rake::Task['my_rake_task'].invoke
    # rake task was NOT processed
end

2 个答案:

答案 0 :(得分:25)

如果rake任务一旦再次运行就已经被调用,除非你打电话:

@rake[@task_name].reenable

或用

调用它

@rake[@task_name].execute

答案 1 :(得分:0)

要添加到 Guy Segev 的答案中,我更喜欢将其添加到您的规范文件中


  after(:each) do
    Rake::Task["task:name"].reenable
  end