我正在使用Rspec,webrat,selenium rc进行测试。使用常规数据库的rspec测试不测试数据库
我正在尝试使用硒和rspec进行集成测试。
我只是看着我的开发数据库,并了解到我的集成测试使用我的开发数据库而不是我的测试数据库。
我如何配置rails和rspec和selenium来使用我的测试数据库。
我所有的其他测试似乎都使用我的测试数据库。
我正在使用Rspec,webrat,selenium rc进行测试。使用常规数据库的rspec测试不测试数据库
我正在尝试使用硒和rspec进行集成测试。
我只是看着我的开发数据库,并了解到我的集成测试使用我的开发数据库而不是我的测试数据库。
我如何配置rails和rspec和selenium来使用我的测试数据库。
我所有的其他测试似乎都使用我的测试数据库。
你有一个像
ENV["RAILS_ENV"] ||= 'test'
在spec_helper.rb
一条线吗? 它强制使用测试数据库,如果你添加/与
ENV["RAILS_ENV"] = 'test'
取代它,可这是从昨天你的问题的根源 - 重新电子邮件验证?
我面临着同样的问题(反对发展,而不是测试环境中运行RSpec的测试),而移植和Rails 2应用到Rails 3.更改行
ENV["Rails.env"] ||= 'test'
到
ENV["RAILS_ENV"] ||= 'test'
在spec_helper .rb解决了我的问题。
我意识到,RAILS_ENV已被弃用,以支持Rails.env,并怀疑在端口上拖动了一些不良内容,迫使我进行此更改。
也有可能提供一些更深入的了解和RAILS_ENV这里Rails.env了良好的讨论:
Correct Ruby on Rails 3 replacement for ENV["RAILS_ENV"] ||= 'production'?
根据rspec的护栏宝石文档,把RSpec的护栏宝石的开发和Gemfile的测试组。这是因为在切换到测试环境之前,测试rake任务首先加载开发环境。
group :development, :test do
gem 'rspec-rails'
end
参考文献:https://github.com/rails/rails/issues/7175,https://github.com/rails/rails/issues/8591 - rspec的负荷发展环境
嘿Chrispanda我改变了我的代码,以上述匹配你的。这并没有改变对开发数据库的写作,但我认为这就是硒如何从我的系统运行它的工作原理。当测试通过Firefox时,它不能写入测试数据库。但我通过清除数据库来解决唯一性问题。这是问题,我以为它写入我的测试分贝,所以我会做耙分贝:测试:准备,而不是耙分贝:重置。 Ughhhh。谢谢。 – chell
您是否知道在每次测试后如何消除我的开发数据库? – chell
不要尝试。让这个工作正常。 –