前言
上篇題到如何製作產 Excel 檔,這篇以撰寫測試為主
說明
延續上篇完成的補寫測試,這邊還有額外安裝 factory_bot_rails
Gem 使用,可參考此 pr
實作
主要測試內容為: 工作列表名稱 (worksheet)、Excel 標題列、內容,確認資料正確性
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23# spec/services/shops_excel/generator_spec.rb
require 'rails_helper'
RSpec.describe ShopsExcel::Generator do
subject { described_class.new.execute }
before do
@shop = create(:shop)
end
it 'generate rows correctly' do
xlsx = subject
first_sheet = xlsx.workbook.worksheets[0]
expect(first_sheet.name).to eq('商家清單')
expect(first_sheet.rows[0].cells.map(&:value)).to match_array(
%w[商家名稱 信箱 備註]
)
expect(first_sheet.rows[1].cells.map(&:value)).to match_array(
[@shop.name, @shop.email, @shop.note]
)
end
end
小結
一開始不熟悉時,會做比較慢,蠻正常的,因為沒做過所以也沒頭緒,多做幾次後,就會逐漸上手,慢慢的就能變成先寫完測試,再開始實作內容了~
參考資料
鐵人賽文章連結:https://ithelp.ithome.com.tw/articles/10272496
medium 文章連結:https://link.medium.com/H7KaCZbhRjb
本文同步發布於 小菜的 Blog https://riverye.com/
備註:之後文章修改更新,以個人部落格為主