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

Rails 6.0.4系统测试在Travis CI运行失败无错误输出如何排查?

Rails 6系统测试Travis CI无错误输出排查思路
  • 调高测试日志输出级别
    执行测试时添加verbose参数并指定日志级别,强制输出所有执行细节:
    RAILS_LOG_LEVEL=debug bundle exec rails test:system -v
    
    同时可以在config/environments/test.rb中添加配置,将测试日志直接输出到标准输出:
    config.logger = Logger.new(STDOUT)
    config.log_level = :debug
    
  • 调整命令输出重定向规则
    将标准错误流合并到标准输出,避免错误信息被单独丢弃:
    bundle exec rails test:system -v 2>&1
    
  • 检查无头浏览器配置与依赖
    CI环境运行系统测试需要配置无界面浏览器,首先确认你的test/application_system_test_case.rb中已针对CI环境添加无头启动参数:
    driven_by :selenium, using: :chrome, screen_size: [1400, 1400] do |driver_option|
      driver_option.add_argument '--no-sandbox'
      driver_option.add_argument '--headless'
      driver_option.add_argument '--disable-gpu'
      driver_option.add_argument '--disable-dev-shm-usage'
    end
    
    其次在.travis.yml的addons.apt.packages中添加浏览器依赖:
    packages:
      - mysql-server
      - chromium-browser
      - chromium-chromedriver
    
  • 临时屏蔽覆盖率工具验证
    先将.travis.yml中COVERAGE环境变量改为false,注释掉CodeClimate相关的before_script和after_script逻辑,排除覆盖率工具拦截错误输出的可能性。
  • 缩小测试执行范围排查
    不要执行全量系统测试,先指定单个最简测试用例执行,更容易定位错误:
    bundle exec rails test test/system/your_simplest_test.rb -v
    
  • 检查Puma运行权限与日志配置
    确认你创建的/var/log/puma目录已正确授权,同时可以在config/puma.rb的test环境配置中添加日志输出规则,将Puma的运行日志也输出到控制台。

内容的提问来源于stack exchange,提问作者Francesco Mari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 09:06:03