【发布时间】:2017-11-08 07:47:47
【问题描述】:
我正在使用 Rails 构建 JSON API 服务,并使用 docker 在生产环境中运行它。在我的 Dockerfile 中,我想使用:
RUN bundle install --without development test
我有点担心的是,Gemfile 可能包含 :development 或 :test 中真正重要的东西。
这是一个人为的例子Gemfile:
# Example situation which works in development and tests but fails in production
group :development, :test do
gem 'rails', '~> 5.1.4'
end
在这种情况下,测试会顺利通过,但生产会真的被破坏。
所以我正在考虑构建生产容器并使用 docker 运行它并公开端口以进行测试。对那个容器使用相同的 Rspec type: request 测试会很棒。测试运行器和 Rails 服务器可以共享同一个测试数据库。
如何强制我的 Rspec 测试不生成自己的服务器,而是使用已经在后台运行的不同服务?
【问题讨论】:
标签: ruby-on-rails docker rspec bundler