iT邦幫忙

2021 iThome 鐵人賽

DAY 17
0
自我挑戰組

Ruby on Rails 與它們相關的東西 II系列 第 17

Day17 - 匯出 excel-測試篇

前言

上篇題到如何製作產 Excel 檔,這篇以撰寫測試為主

說明

延續上篇完成的補寫測試,這邊還有額外安裝 factory_bot_rails Gem 使用,可參考此 pr

實作

主要測試內容為: 工作列表名稱 (worksheet)、Excel 標題列、內容,確認資料正確性

# 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

小結

一開始不熟悉時,會做比較慢,蠻正常的,因為沒做過所以也沒頭緒,多做幾次後,就會逐漸上手,慢慢的就能變成先寫完測試,再開始實作內容了~

參考資料

  1. factory_bot_rails GitHub

鐵人賽文章連結:https://ithelp.ithome.com.tw/articles/10272496
medium 文章連結:https://link.medium.com/H7KaCZbhRjb
本文同步發布於 小菜的 Blog https://riverye.com/

備註:之後文章修改更新,以個人部落格為主


上一篇
Day16 - 匯出 excel-應用篇
下一篇
Day18 - 匯入 excel-應用篇
系列文
Ruby on Rails 與它們相關的東西 II30

尚未有邦友留言

立即登入留言