我有一个方法,我正在编写测试。我想测试generate_csv_header
和generate_csv_line
被调用。
def generate_temporary_report_file(temporary_file)
CSV.open(temporary_file, "wb") do |csv|
csv << generate_csv_header
csv << generate_csv_line
end
temporary_file
end
到目前为止,这是我的测试:
describe '#generate_temporary_report_file' do
let(:temp_file) { double(:temp_file, read: 'content') }
let(:csv_open) { double(:csv_open) }
before do
expect(CSV).to receive(:open).with(temp_file, "wb").and_return(csv_open)
# expect(item_report_generator).to receive(:generate_csv_header).once
# expect(item_report_generator).to receive(:generate_csv_line).once
end
it 'returns temporary file' do
expect(item_report_generator.generate_temporary_report_file(temp_file)).to eq temp_file
end
end
我注释掉了两行,因为这些方法已经被删除了。
如何测试generate_csv_header
和generate_csv_line
被调用一次?
谢谢!