database.yml的相关部分:
development:
adapter: mysql
encoding: utf8
database: dev
username: root
password:
test: &TEST
adapter: mysql
encoding: utf8
database: test
username: root
password:
cucumber:
<<: *TEST
culerity:
<<: *TEST
因此,似乎每当黄瓜与浏览器交互时,它都会修改开发数据库。但是当我以编程方式执行操作(例如添加默认用户登录)时,它会修改测试数据库。
为什么测试会响应ruby / rails请求,但在视图测试运行时切换到dev?
这就是我运行黄瓜的方式:
$> bundle exec rake test:cucumber:authentication
运行此文件中的任务:
begin
require 'rubygems'
ENV["RAILS_ENV"]="test"
require 'cucumber'
require 'cucumber/rake/task'
namespace :test do
namespace :cucumber do
Cucumber::Rake::Task.new(:authentication) do |t|
t.cucumber_opts = "features/Authentication.feature"
end
...