我正在尝试使用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
如果一个 rake 任务已经被调用过一次,除非你使用以下方法之一,否则它不会再次运行: @rake[@task_name].reenable 或者用此方式调用: @rake[@task_name].execute
setup
中执行了invoke
,并在teardown
中执行了reenable
。 - Sathish