Docker 未使用parallel_test gem 创建数据库

问题描述 投票:0回答:1

这是我的database.yml 文件

default: &default
  adapter: postgresql
  encoding: UTF-8
  host: localhost
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 10 } %>

test:
  <<: *default
  url: <%= ENV['TEST_DATABASE_URL'] %>
  database: testing<%= ENV['TEST_ENV_NUMBER'] %> # do not change this value!!!
  username: <%= ENV['RDS_USERNAME'] %>
  password: <%= ENV['RDS_PASSWORD'] %>
  host: <%= ENV['RDS_HOSTNAME'] %>
  port: <%= ENV['RDS_PORT'] %>
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 20 } %>
  encoding: UTF-8

development:
  <<: *default
  url: <%= ENV['DATABASE_URL'] %> 
  database: <%= ENV['RDS_DB_NAME'] %>
  username: <%= ENV['RDS_USERNAME'] %>
  password: <%= ENV['RDS_PASSWORD'] %>
  host: <%= ENV['RDS_HOSTNAME'] %>
  port: <%= ENV['RDS_PORT'] %>
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 20 } %>
  encoding: UTF-8

ENV['TEST_ENV_NUMBER'] 未在 docker compose 中获取,它在我的本地运行良好,但在 docker 中运行不正常,有什么建议

ruby-on-rails ruby docker
1个回答
0
投票

为了为

parallel_tests
创建数据库,您需要在运行测试之前调用
parallel:create
任务。在使用 RSpec 的 docker-compose 设置中,我建议运行以下命令

command: [
      "sh", "-c", "bundle exec rake parallel:create parallel:load_schema && bundle exec parallel_rspec spec/"
    ]
© www.soinside.com 2019 - 2024. All rights reserved.