天天看點

rubyonrails test 小記

rubyonrails test 小記

1、rubyonrails在使用腳手架生成模版檔案時會自動生成controller 和model 的測試檔案。controller的測試檔案主要是測路由和傳回狀态是否正确,而model測試檔案主要是針對資料邏輯的單元測試。

2、大部分關于資料的邏輯應該寫在model裡,這樣無論是從資料庫裡讀出還是存入都會經過邏輯的判斷。ruby提供了簡便的validates方法,該方法在model自己的test檔案裡進行測試。

3、ruby有三個資料庫,分别是開發資料庫、測試資料庫、生産資料庫。正是由于測試資料庫的存在,rubyonrails的測試資料準備非常的簡單友善,與開發和生産過程完全隔離。fixture檔案夾是專門用來存放測試資料庫測試資料的,每次測試開始前,測試資料庫都會被清空,并存入fixture檔案資料。這裡隻要注意fixture檔案的命名即可,應該是要和資料庫表名一緻。并且在測試代碼中不用刻意引入fixture檔案,會自動引入同名檔案。seed.rb是用來導入開發資料庫的。

4、在測試代碼中使用執行個體資料有一種簡便的方法就是 資料庫表名作為方法名,參數是fixture裡定義的資料名,非常友善的建立了一個好用的執行個體。

總結來看rubyonrails的測試目的非常明确,使用起來也非常人性化。

ror