我在我的新项目中遇到了 codeclimate-test-reporter 和 Travis CI 的问题。Travis CI 的覆盖率分析与本地的完全不同。具体来说,本地的 LOC 是 56(这是准确的),但是当我在 Travis CI 上构建项目时,它被列为 10,333。
代码和输出
本地输出(56 / 56 LOC)
Finished in 0.0749 seconds (files took 0.60563 seconds to load)
7 examples, 0 failures
Coverage report generated for RSpec to /Users/lee/GitHub/rescuetime/coverage.
56 / 56 LOC (100.0%) covered.
Coverage = 100.0%. Sending report to https://codeclimate.com for branch
data-analytics-api... done.
Travis CI 输出(4954 / 10333 LOC?!)
Coverage report generated for RSpec to /home/travis/build/leesharma/rescuetime/coverage.
4954 / 10333 LOC (47.94%) covered.
Coverage = 47.94%. Sending report to https://codeclimate.com for branch
data-analytics-api... done.
spec_helper.rb(与 codeclimate-test-reporter 相关的位)
require 'codeclimate-test-reporter'
require 'simplecov'
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
SimpleCov::Formatter::HTMLFormatter,
CodeClimate::TestReporter::Formatter
]
SimpleCov.start
...
VCR.configure do |config|
...
config.ignore_hosts 'codeclimate.com'
end
我试过的
我已经确认代码完全相同,并且这些结果对于每个测试的 ruby 都是相同的(在本地和 Travis CI 上,>=1.9.3 MRI)。我尝试将其限制为仅适用于 Travis 的一个 ruby 版本,但结果是相同的。我试过搜索类似的问题,但到目前为止,我只在他们的 repo 上发现了一个未解决的 GitHub 问题。
老实说,我什至不确定接下来要尝试什么来调试它,因为我无法在本地重现它。知道接下来要尝试什么吗?