所以我运行了Gitlab CI,它正在构建项目并且我试图对它们运行我的capybara / poltergeist集成测试,但我意识到当CI运行rspec命令来执行这些时......服务器不是'实际上正在运行。
那么我的CI.yaml文件应该放在哪个“Bundle exec rails s”中?
就在rspec命令之前?
作为参考,这是我的CI文件。
before_script:
- rbenv install --skip-existing `cat .ruby-version`
- bundle install
- RAILS_ENV=test bundle exec rake db:drop db:create db:migrate db:seed
rspec:
script:
- bundle exec rspec . --tag type:feature
tags:
- ruby
另外一个侧面问题:当构建完成并且测试完成时......我将如何关闭正在运行的Rails服务器。或者它会自动关闭它吗?
答案 0 :(得分:1)
通常,Capybara会启动自己的应用程序实例,并在完成后将其关闭,您只需确保将Capybara.server_host设置为可绑定的接口,并在必要时调整Capybara.app_host。 / p>