我正在尝试配置一个 Rails 应用程序以在 CircleCI 2.0 上进行测试(它在 v1.0 上运行良好)。
我已经使用以下 Docker 映像设置了一个配置文件(我第一次使用 Docker,所以不确定这是否正确):
build:
docker:
- image: circleci/ruby:2.4-node
environment:
SELENIUM_DRIVER_URL: http://localhost:4444/wd/hub
- image: circleci/postgres:10.2
environment:
POSTGRES_USER: user
POSTGRES_DB: datatbase
POSTGRES_PASSWORD: ""
- image: selenium/standalone-chrome:3.5.3
一切正常,所有测试都通过了,除了一个!
Failure/Error: attach_file 'file', File.join(Rails.root, 'spec', 'support', 'images', 'test_image.jpg'), visible: false
Selenium::WebDriver::Error::ExpectedError:
invalid argument: File not found : /home/circleci/project/spec/support/images/test_image.jpg
test_image.jpg
确实存在。它被其他所有成功通过的非 JS 规范使用。
这个失败的规范是唯一一个测试 javascript 的规范,因此是通过 selenium/chrome 运行的。
从测试输出来看,selenium 似乎在寻找home/circleci/project
,而不是 Rails 根文件夹。
如何配置以确保该规范在该文件的正确根目录中查找?