簡體   English   中英

React / Babel:組件不只在CircleCI上渲染

[英]React/Babel: Components not rendering only on CircleCI

我最近將帶有React-Redux和Babelify(用於ES6)的ReactJS添加到了Rails應用程序中。 黃瓜測試在本地通過,但沒有通過CircleCI。 到目前為止,這是我所知道的:

  • 當我檢查工件中的屏幕截圖時,即使等待最多4秒鍾才能顯示它們,React組件也似乎沒有呈現。
  • 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

通過SSH進入CircleCI測試后,我的同事發現Object.assign未定義。 顯然,CircleCI使用的Chrome版本比我們測試時使用的版本要舊,並且Babel不會自動填充該ES6方法(請參閱注釋以獲取更多信息)。

他用lodash的_.extend()代替了Object.assign() ,並且測試處處都是綠色。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM