會想寫這個主題有很多原因,原本我是一個手動測試者,頂多就是不照規範寫程式去 test 程式,後來因為大量使用 Redis,這東西真的很好用,但實在經不起程式邏輯的錯誤發生,所以開始學起 Rspec 去用較正規的方式寫 Test。
一開始,我把程式依照功能性切割成 module,在 Rails app 裡面直接寫 Rspec。但我一共寫了 5 個功能性的 module 在各個 model 中使用,如果要把每個 model 中所有使用到 module 的關係寫完,實在是太可怕了,所以最後決定把它包裝成 Gem,用較單純的邏輯去做測試。
在把 module 包裝成 Gem 的過程中,我開始搜尋 Rspec 和 Gem 的結合,但因為 Rspec 本身就是一個 Gem,關鍵字很難下,找到的資料非常少,所以就決定把它整理記錄一下,讓有需要的朋友參考。
http://blog.hellolucky.info/articles/ruby-on-rails-rspec-and-rails-gem/