我被告知不应该在除了测试环境以外的Rails环境下运行RSpec测试用例。
在生产环境或开发环境下运行测试用例可能会导致哪些潜在问题? 我通常在两个环境下运行测试用例。除非我要测试使用资源管道的内容,否则我通常在开发环境下运行测试用例。为此,我会切换到生产环境并花费15分钟预编译资产。使用测试环境是否比我当前的方法更有优势呢?
我搜索了答案,但没有找到解释为什么不应该使用开发环境或生产环境。
我被告知不应该在除了测试环境以外的Rails环境下运行RSpec测试用例。
在生产环境或开发环境下运行测试用例可能会导致哪些潜在问题? 我通常在两个环境下运行测试用例。除非我要测试使用资源管道的内容,否则我通常在开发环境下运行测试用例。为此,我会切换到生产环境并花费15分钟预编译资产。使用测试环境是否比我当前的方法更有优势呢?
我搜索了答案,但没有找到解释为什么不应该使用开发环境或生产环境。
RAILS_ENV=production
与在“production
环境”中运行测试不是同一回事。我知道你(OP)知道这一点,但在生产环境中运行测试的危险需要警告。
只在test
环境下运行测试有几个原因,通常涉及处理数据库:
其他原因与您已经推测的线路相同:
这些可能是太具体(针对您的应用程序)而无法建议最佳实践...但是,不用说,在rails_ENV=test
时可能需要配置许多“测试模式”设置。
你应该明确你的优先事项。你为什么要运行规格?
我认为,大多数人运行规格是为了第二点,这真的应该在测试环境中进行,正如 NewAlexandrias 的回答所述。
当你想在部署后检查第一点时,对我来说运行规格似乎有些牵强。应该有更简单的方法。
当你部署时,如果你不确定第二点...那就是过早地部署,这是你不应该做的事情。
RAILS_ENV = production
运行与RAILS_ENV = test
相比有何区别。 - New Alexandria