【发布时间】:2015-04-01 06:57:06
【问题描述】:
假设我有一个非常简单的 Rake 任务:
task :test do
system "bundle exec rspec spec"
end
我尝试通过存根::Kernel.system 方法调用来测试它:
describe "test" do
before { allow(::Kernel).to receive(:system) }
it "runs 'bundle exec rspec spec'" do
expect(::Kernel).to receive(:system).with "bundle exec rspec spec"
Rake::Task[:test].invoke
end
end
但该方法似乎根本没有被存根。相反,我遇到了调用测试套件的无限循环迭代。
它有什么问题,以及如何正确地存根系统调用?
【问题讨论】:
标签: ruby rspec rake system stub