3

我有一个与 zeus-parallel_tests 和他的初始化有关的问题:

我的宝石文件:

group :development, :test do
  gem "sqlite3"
  gem "rspec-rails"
  gem "rspec-its"
  gem "guard-rspec"
  gem "quiet_assets"
  gem "dotenv-rails"
  gem "parallel_tests"
  gem "zeus-parallel_tests"
end

然后捆绑,好吧

我的 database.yml 配置:

connection: &connection
  adapter: postgresql
  host: localhost
  username: ********
  password: ********
  encoding: utf8
  min_messages: warning

development:
  database: app_development
  <<: *connection

test:
  database: app_test<%= ENV['TEST_ENV_NUMBER'] %>
  <<: *connection

production:
  database: app_production
  <<: *connection

然后 zeus-parallel_tests init 用于创建我的 custom_plan.rb 和 zeus.json

但是当我尝试创建我的并行数据库时(我有一个带有 8 个线程的 i7)我有一个奇怪的消息:

> rake parallel:create
app_development already exists
app_development already exists
app_development already exists
app_development already exists
app_development already exists
app_development already exists
app_development already exists
app_development already exists

并行尝试复制我的开发数据库?我希望他复制我的 app_test 数据库

> rake parallel:drop
> rake parallel:create
PG::Error: ERROR:  duplicate key value violates unique constraint "pg_database_datname_index"
DETAIL:  Key (datname)=(app_development) already exists.
: CREATE DATABASE "app_development" ENCODING = 'utf8'

and

/vendor/bundle/gems/activesupport-4.1.13/lib/active_support/notifications/instrumenter.rb:20:in `instrument'PG::Error: ERROR:  duplicate key value violates unique constraint "pg_database_datname_index"

我操作后只有 1 个 app_test 数据库和 1 个 app_development 数据库。

任何想法 ?我不碰 custom_plan.rb 和 zeus.json zeus 没问题 rspec 没问题 Ruby = 2.1.3 Rails = 4.1.13

4

2 回答 2

6

parallel_specs我在使用gem(不是那个)时遇到了同样的问题zeus——我相信它试图在开发环境中运行。我不确定这是否是我的应用程序或 gem 中的问题,但我必须明确设置RAILS_ENV它才能工作:

RAILS_ENV=test bundle exec rake parallel:setup
RAILS_ENV=test bundle exec rake parallel:spec
于 2016-06-16T22:10:02.730 回答
1

我相信这是因为 Spring,rake命令使用它。尝试禁用它或修补它。

于 2017-03-20T11:34:58.450 回答