This seems to be obvious, but you can expect Rake tasks to be called in RSpec.
it 'deletes all Users' do
FactroyBot.create(:user)
expect(Rake::Task['notify:critical_operation']).to receive(:invoke)
expect { described_class.clean }.to change(User, :count).from(1).to(0)
end
Note: Try to avoid logic in rake tasks and prefer to just call classes in them.
Example:
desc 'Some task'
task :some_task do
SomeClass.new.run
end
Posted by Emanuel to makandra dev (2020-05-28 11:58)