Simplecov在Gitlab生成测试报告格式异常,本地正常该如何解决?
排查解决步骤
- 第一步:修正GitLab CI制品归档配置
你当前的配置仅归档了coverage/index.html单个文件,Simplecov生成的HTML测试报告依赖coverage/目录下的assets/子目录(存放css、js、字体等样式资源)和其他关联页面,仅上传单个HTML文件会导致样式加载失败,出现格式错乱。
将rspec步骤的artifacts配置调整为归档整个coverage目录即可:
rspec: stage: rspec script: - bundle exec rspec allow_failure: false artifacts: name: test_report paths: - coverage/ when: always
- 第二步:校验两端环境配置一致性
确认本地和CI环境安装的simplecovgem版本完全一致,避免版本差异导致的生成逻辑不同。可以在CI的script中增加gem list simplecov命令,和本地版本做对比。
检查项目中Simplecov的初始化配置,确认没有针对CI环境的特殊配置覆盖了HTML格式输出的逻辑,确保SimpleCov.formatter指定为SimpleCov::Formatter::HTMLFormatter。 - 第三步:确认CI环境文件生成完整性
在CI的rspec步骤script末尾增加ls -la coverage/命令,查看流水线运行后生成的coverage目录下的文件列表,和本地生成的文件列表对比,确认所有资源文件都正常生成,没有因为权限不足、磁盘不足等问题导致文件生成失败。
内容的提问来源于stack exchange,提问作者Aditi Sharma
相关产品推荐
相关产品推荐

