我正在为我的应用程序编写回归测试,并使用类Page
。每个页面都有一个nav_to
方法,需要在初始化实例时使用proc设置。
我目前在全球范围内列出了40个一些触发器,对我来说这似乎很草率。存储这些过程的最佳做法是什么?我应该将它们存储在模块中吗?哈希?类?请帮忙!
答案 0 :(得分:1)
考虑将它们存储在模块(或类)常量中,以便可以对它们进行分组和清晰命名。您选择的数据结构(数组与散列)可能最大程度上取决于您所需的接口(它们是否与某些键相关联,或者仅仅是订购?)和性能问题(如果相关):
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
)。