2015-05-18 17 views
0

我正在爲我的應用程序編寫回歸測試,並使用類Page。每個頁面有一個nav_to方法,當實例初始化時需要使用proc進行設置。Ruby存儲Procs集合的最佳實踐

我目前有一個在全球範圍內的40個過程的列表,對我來說這似乎馬虎。存儲這些特效的最佳做法是什麼?我應該將它們存儲在模塊中嗎?哈希?類?請幫忙!

+0

請發佈您到目前爲止的代碼。 –

回答

1

考慮將它們存儲在模塊(或類)常量中,以便它們可以分組並清晰地命名。您選擇的數據結構(數組VS哈希)可能取決於最想要的界面和性能方面的問題(?他們在一些關鍵或者乾脆下令有關),如果相關:

module MyTests # ...or "class" 

    NAV_TO_PROCS = [ 
    Proc.new { ... }, 
    Proc.new { ... }, 
    ] 

    # ... or ... 

    NAV_TO_BY_PAGE_NAME = { 
    "page1" => Proc.new { ... }, 
    "page2" => Proc.new { ... }, 
    } 

end 

順便說一句,使用模塊時,這些常數我喜歡「凍結」它們以避免在使用過程中發生意外突變(例如NAV_TO_PROCS = [...].freeze)。