我对Ruby有点新,尤其是模块和mixins等更高级的概念,所以我可能完全脱离了上下文使用模块。
我目前正在使用Capybara编写内部测试框架,我正在尝试找出处理配置数据的最佳/最简单的方法。我提交了一个名为config.rb的文件,在其中我想存储每个环境的配置设置。例如:
module QAConfiguration
config data goes here
end
module DevConfiguration
config data goes here
end
配置数据的最简单示例是用户名和密码。 QA和Dev当然使用不同的用户。我正在考虑两种不同的方法来解决这个问题,但我想确保我至少遵循一个不错的做法,而不是进入杂草。
module QAConfiguration
USERNAME = 'test'
PASSWORD = 'test'
end
或..
module QAConfiguration
def username
'test'
end
end
等等。这是接近这个的最佳方式?
答案 0 :(得分:0)
模块可能不是实现此目的的最佳方式。通常在测试时(我使用rspec),我们使用包含可重用代码的帮助文件。
用户名和密码等对象属性通常由工厂处理。工厂的一个伟大宝石是FactoryGirl。
答案 1 :(得分:0)
在ruby / rails中存储配置的常用方法是在yaml文件中。例如,您可以使用yaml格式创建名为config / test_conf.yml的文件:
username: 'your_user'
password: 'somepass'
然后您需要配置数据:
config = YAML.load(File.read("#{Rails.root}/config/test_conf.yml"))
puts config['username']
最后,您通常只会在git / svn上放置一个test_config.yml.example,并在您的app setup自述文件中说明他们需要cp config / test_config.yml.example config / test_config.yml并编辑该文件。