我最近在 Rails 应用程序中添加了带有 React-Redux 和 Babelify(用于 ES6)的 ReactJS。黄瓜测试在本地通过,但在 CircleCI 上没有通过。到目前为止,这是我所知道的:
- 当我检查工件中的屏幕截图时,React 组件似乎没有呈现,即使等待它们出现的时间长达 4 秒。
- CircleCI 构建中没有错误
- 我试过在没有缓存的情况下在 CircleCI 上重建。
- 基本的依赖于 javascript 的测试正在通过。
- 依赖 babel 和导入库(lodash)的基本测试正在通过
如何让我的 React 组件的黄瓜测试通过 CircleCI?
# no circle.yml
# gemfile
gem 'capybara-webkit'
gem "chromedriver-helper"
gem 'capybara-screenshot'
gem 'selenium-webdriver'
# package.json
"dependencies": {
"browserify": "~> 10.2.4",
"browserify-incremental": "^3.0.1",
"lodash": "^3.10.1",
"react": "~>0.13.3",
"react-redux": "~>3.1.0",
"redux-thunk": "~>1.0.0",
"babelify": "~>6.3.0"
}
# support/env.rb
Capybara.register_driver :chrome do |app|
Capybara::Selenium::Driver.new(app, browser: :chrome)
end
Capybara.javascript_driver = :chrome