我有以下设置
宝石文件
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)
有没有办法解决这个问题?
将 simplecov 和 simplecov-rcov gem 更新到最新版本,并将以下代码放在测试/规范帮助程序中:
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 中的文件打开模式