我有一些带有一些日志的ProgressBar,并且每次迭代都会显示它。当我运行RSpec时,我希望仅显示结果(仅.
或f
,而不是我的应用可能显示的输出。
之间,我没有使用铁轨,所以我没有环境。
我得到了这个:
我想要这个:
我的代码非常简单:
progress_bar = ProgressBar.create(:total => nil)
progress_bar.increment
progress_bar.log "New Page added on depth #{depth}! #{url}"
答案 0 :(得分:4)
any_instance
已被弃用。
ProgressBar内部类似乎也发生了变化。这样做对我来说:
before(:each) do
allow_any_instance_of(ProgressBar::Output).to receive(:stream).and_return(double().as_null_object)
end
答案 1 :(得分:2)
只是测试中的存根记录:
ProgressBar.any_instance.stub(:log)
如果此操作的测试次数超过1次,请将其放入before(:each)
:
before(:each) do
ProgressBar.any_instance.stub(:log)
end
如果你使用progressbar
gem,它会创建ProgressBar::Base
个实例,所以你应该使用:
ProgressBar::Base.any_instance.stub(:log)