我正在尝试使用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
答案 0 :(得分:25)
如果rake任务一旦再次运行就已经被调用,除非你打电话:
@rake[@task_name].reenable
或用
调用它 @rake[@task_name].execute
答案 1 :(得分:0)
要添加到 Guy Segev 的答案中,我更喜欢将其添加到您的规范文件中
after(:each) do
Rake::Task["task:name"].reenable
end