1

我有以下设置

宝石文件

  gem 'simplecov', require: false
  gem 'simplecov-rcov', require: false

spec_helper.rb

SimpleCov.formatter = SimpleCov::Formatter::RcovFormatter
SimpleCov.start 'rails'

在规范中,我对视图进行了测试。

运行测试并且 rcov 尝试保存 rcov_result 后,我​​收到以下错误:

/.rvm/gems/ruby-2.5.1/gems/simplecov-rcov-0.2.3/lib/simplecov-rcov.rb:52:in `write': "\xE2" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError)

有没有办法解决这个问题?

4

1 回答 1

1

将 simplecov 和 simplecov-rcov gem 更新到最新版本,并将以下代码放在您的 test/spec-helpers 中:

   class SimpleCov::Formatter::RcovFormatter
     def write_file(template, output_filename, binding)
       rcov_result = template.result( binding )
       File.open( output_filename, 'wb' ) do |file_result|
         file_result.write rcov_result
       end
     end
   end

有关文件模式的更多信息:Ruby 中的文件打开模式

于 2019-11-26T11:04:59.980 回答