RSpec - 測試該挑哪幾種寫?哪幾種不要寫?
在 Rails 的測試分成很多種類型,但時間卻是固定的,我們該權衡什麼樣的測試是重要的,什麼樣的測試可以被更重要的測試給 Cover 到
- 發佈時間
Robert Chang
技術部落格
在 Rails 的測試分成很多種類型,但時間卻是固定的,我們該權衡什麼樣的測試是重要的,什麼樣的測試可以被更重要的測試給 Cover 到
WebMock 以及 VCR 是當 Rails 需要測試第三方 API 時常見的手段,透過錄下整個 Request 以及 Response 的過程來模擬呼叫 API 的真實模樣
利用瀏覽器自動化測試也是一種很常見的手段,在 Rails 中,Capybara 就是內建的瀏覽器自動化測試套件,可以幫助你測試網頁的行為是否符合預期
FactoryBot 是在撰寫 RSpec 時不可或缺的一個套件,製造假的資料是一件很浪費時間的事情,但 FactoryBot 提供很好的介面和方法讓我們快速建立假物件來進行測試。
RSpec 是一個獨立的測試框架,但最常應用的場景還是和 Rails 做結合,所以有另一個 Gem 叫做 rspec-rails,算是為了可以更好地相容 Rails 而出現的特規版
RSpec 中的 mock 也是核心函式庫的一員,在測試的時候,常常會有依賴不同方法回傳值得情況發生,spy 是除了 double 以及 instance double 之外的另一種用法