2
我們的應用程序支持多種類型的賬戶,因此我們的許多測試遍歷所有賬戶類型。rspec和鐵軌和水豚:如何使用相同的測試來測試工廠的6個不同變體
但是,我們常見的模式是每個帳戶類型的第一步都是相同的,但MID方式通過我們想要測試每個帳戶類型的某些獨特方面。以下是一個測試的高級視圖:
all_account_types.each do | account_type |
- 創建一個帳戶,工廠特質ACCOUNT_TYPE
- 創建帳戶管理器工廠
- 5人的工廠選擇加入該帳戶,然後
- 1人選擇退出
- 經理創建併發送一個廣播
- 一個選擇退出沒有得到消息
- 四個選擇插入獲取消息
- 驗證消息的格式(取決於帳戶類型)
這最後的測試是問題......我們運行的測試取決於帳戶的類型。目前,我們有內部的邏輯上面寫着if account_type==X then Y.should include(Z)
和工作儘量做測試,但它會在測試更好