def hide_gridlines(sheet, hide_gridlines)
sheet.sheet_view.show_grid_lines = false if hide_gridlines
end
我需要在RSpec / Ruby中测试这个方法,我想写两个测试,一个是看看如果hide_gridlines为真,这个代码sheet.sheet_view.show_grid_lines = false
是否会执行。
另一种方法是确保如果hide_gridlines为false,则代码sheet.sheet_view.show_grid_lines = false
不会运行。
sheet是来自Axlsx Gem的工作表,我创建了一个double,但我不确定如何设置double以获得sheet_view,然后测试变量声明。
有关如何在RSpec中测试此内容的任何指示,您的帮助将不胜感激。
答案 0 :(得分:2)
context 'set sheet.sheet_view.show_grid_lines to' do
let(:sheet_view) { double }
let(:sheet) { double(sheet_view: sheet_view) }
specify 'false if hide_gridlines' do
expect(sheet_view).to receive(:show_grid_lines=).with(false)
subject.hide_gridlines(sheet, true)
end
specify 'true unless hide_gridlines' do
expect(sheet_view).not_to receive(:show_grid_lines=)
subject.hide_gridlines(sheet, false)
end
end