为什么我应该只在测试环境中运行我的rails app上的rspec规范,而不是dev或prod?

Spe*_*cer 8 ruby testing rspec ruby-on-rails ruby-on-rails-3

有人告诉我,除了test之外,我不应该在rails_env中运行我的rspec规范.

在生产或开发中运行规范的潜在问题是什么?我在两者中运行规格.我通常在dev中运行规范,除非我正在测试使用资产管道的东西.我转而投入生产并花费15分钟预编译资产.使用测试环境比我当前的方法有什么好处吗?

我搜索了一个答案,但没有解释为什么我不应该使用dev或prod.

rud*_*ph9 7

在环境中运行测试套件(例如rspec)test旨在隔离资源以解决安全问题,尤其是数据库的完整性.测试通常会破坏或完全删除数据库中的数据.

所有资源都是如此.通过使用test环境,您可以切断和模拟资源,从而防止测试破坏任何内容.

使用单独环境的原因有很多,但从根本上说它是资源分离,在test环境环境中,它可以在确保生产资源和运行系统安全的同时验证应用程序.