ruby-on-rails – 通过rake测试Rails:不要触摸我的dev数据库

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 通过rake测试Rails:不要触摸我的dev数据库前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望’rake test:units’在我的开发数据库关闭时成功地在准备好的测试数据库上运行测试.目前rails正在尝试从开发数据库构建测试数据库.这可能吗?

我处于我的prod / dev数据库不在主机的情况下,但出于单元测试的目的,我在内存数据库中使用了sqlite.

编辑我的确切操作:注意我使用的是Rails 2.3

我的测试数据库在config / database.yml中设置如下:

test:
  adapter: sqlite3
  database: 'sqlite3_unittest_file.dat'
  pool: 5
  timeout: 5000

当我运行rake db:test:加载测试数据库(这只是一个文件)是在rails-root目录中正确生成的.当我运行rake测试:单位时,一切正常.

现在,如果我编辑database.yml以将我的DEV数据库用户名设置为错误(例如’sdlkfj’),则rake test:单元立即失败抱怨:

Access denied for user 'sdlkfj'@'myhostnsmae' (using password: YES)

当我正在运行这个“真实”的构建时,我正在一个系统中运行它,在构建过程中不允许构建对话框.因此,这种与开发数据库交谈并立即呱呱叫的尝试正在扼杀我,似乎是不正确的.

解决方法

尝试使用显式环境运行rake任务:
rake test:units RAILS_ENV=test

如果您没有指定环境,根据我的经验,假设开发.虽然测试数据库仍然会将夹具数据插入其中,但开发环境中的内容仍会因某种原因而被引用.

原文链接:https://www.f2er.com/ruby/265479.html

猜你在找的Ruby相关文章