simplecov-rcov抛出Encoding :: UndefinedConversionError

时间:2019-04-11 11:45:17

标签: rspec-rails simplecov rcov

我具有以下设置

宝石文件

  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)

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

1 个答案:

答案 0 :(得分:0)

将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

此处提供有关文件模式的更多信息:File opening mode in Ruby