[英]Rspec testing rake tasks
我有一个简单的rake任务,其中包含一个puts
namespace :atask
task something: :environment do
puts 'Foo'
end
end
我的规格如下
describe 'atask:something' do
before { MyApp.Application.load_tasks }
context 'one' do
it do
Rake::Task['atask:something'].invoke
end
end
context 'two' do
it do
Rake::Task['atask:something'].invoke
end
end
context 'three' do
it do
Rake::Task['atask:something'].invoke
end
end
end
如你所见,它有3个上下文,3个块。 所以我应该在控制台中看到'Foo'三次,每次调用任务一次。 但是,我只在控制台中看到“Foo”一次,即使它被调用了三次。
事实证明,当一个rake任务被invoke
,它将不再被运行。 您必须在调用后reenable
该任务或使用execute
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.