跳至主要內容
Robert Chang (張凱強)
Robert Chang (張凱強)

Robert Chang (張凱強)

記錄軟體工程、和自我觀點的個人部落格

標籤:RSpec

表徵測試 ( Characterization Test ) 的目的是幫助工程師驗證對應用程式所做的修改不會造成不期望的改變,大部分是替一個沒有足夠單元測試的應用程式架起的保護網。

對我來說 Mock、Stub 都是很難一言以蔽之的概念,決定挽起袖子,認真的來梳理一下這之間的差別到底是什麼?

WebMock 以及 VCR 是當 Rails 需要測試第三方 API 時常見的手段,透過錄下整個 Request 以及 Response 的過程來模擬呼叫 API 的真實模樣

利用瀏覽器自動化測試也是一種很常見的手段,在 Rails 中,Capybara 就是內建的瀏覽器自動化測試套件,可以幫助你測試網頁的行為是否符合預期

FactoryBot 是在撰寫 RSpec 時不可或缺的一個套件,製造假的資料是一件很浪費時間的事情,但 FactoryBot 提供很好的介面和方法讓我們快速建立假物件來進行測試。

RSpec 是一個獨立的測試框架,但最常應用的場景還是和 Rails 做結合,所以有另一個 Gem 叫做 rspec-rails,算是為了可以更好地相容 Rails 而出現的特規版

RSpec 中的 mock 也是核心函式庫的一員,在測試的時候,常常會有依賴不同方法回傳值得情況發生,spy 是除了 double 以及 instance double 之外的另一種用法