You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rails7中Capybara+RSpec Turbo Stream测试本地通过但GitHub Actions失败

Rails 7 Turbo Stream测试在GitHub Actions失败的解决方法

问题场景

基于Rails 7构建,集成Hotwire与Stimulus组件的应用,使用RSpec + Capybara + selenium_chrome_headless驱动执行测试。某Turbo Stream相关测试在本地环境可正常通过,但在GitHub Actions中持续失败。

错误表现

从GitHub Actions日志可见Capybara已成功启动Puma服务,但测试返回ActionController::UnknownFormat错误。

无效排查尝试

  • 更换Selenium驱动
  • 显式指定JavaScript驱动

解决方案

  1. 将GitHub Actions中的测试命令从 bin/rake 修改为 bundle exec rspec
  2. 在执行测试前,先运行资源预编译命令:bundle exec rails assets:precompile

原因推测

问题根源应为缺少部分JavaScript资源,导致Turbo Stream相关的请求格式处理逻辑无法正常运行。预编译操作确保了所有必要的前端资源被正确生成,而直接使用bundle exec rspec避免了rake命令可能带来的资源加载问题。

内容的提问来源于stack exchange,提问作者Łukasz Pająk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 00:24:56