何时使用特定的 Rails 环境进行测试?

When To Use A Particular Rails Environment for Testing?

我在 Ruby Rails 上用 Michael Hartl 的书自学。当它发现使用seeds.rb文件时,我在开发环境中测试,它失败.当设置为测试环境时,成功。为什么?什么时候需要再次更改环境才能成功测试?

当您说 I tested within Development Environment, it Failed. 时,您并不是在 运行 进行自动化测试。您 运行 针对开发数据库的 rake db:seed 脚本。相同的任务可以 运行 针对测试环境 rake db:seed RAILS_ENV=test。同样,这不是自动化测试。

rake db:seed 运行 针对开发环境失败的原因有很多。具体原因可以根据错误信息来判断。

development 环境是您日常工作的环境,adding/changing 通过更改代码来实现功能。默认情况下,大多数脚本假定您正在使用 development 环境。

test 环境是自动化测试所针对的环境 运行。对于 rails 教程,自动化测试是在 test 文件夹下的文件中编写的。当自动化测试在 rails 应用程序上 运行 - 使用 rake test 或其他方式 - test 环境用于 运行 这些测试。 test 数据库在 运行 测试之前清理,以确保测试 运行 从空白状态开始。

希望这能说明问题。