Sha256: 161bc21640c6d5e387be7634eda35ceb44363d2ada2ba44a871ade9d957016f5
Contents?: true
Size: 1.81 KB
Versions: 25
Compression:
Stored size: 1.81 KB
Contents
module CodeClimate module TestReporter class WebMockMessage def library_name "WebMock" end def instructions <<-STR WebMock.disable_net_connect!(:allow => "codeclimate.com") STR end end class VCRMessage def library_name "VCR" end def instructions <<-STR VCR.configure do |config| # your existing configuration config.ignore_hosts 'codeclimate.com' end STR end end class ExceptionMessage HTTP_STUBBING_MESSAGES = { "VCR::Errors::UnhandledHTTPRequestError" => VCRMessage, "WebMock::NetConnectNotAllowedError" => WebMockMessage } def initialize(exception) @exception = exception end def message parts = [] parts << "Code Climate encountered an exception: #{exception_class}" if http_stubbing_exception message = http_stubbing_exception.new parts << "======" parts << "Hey! Looks like you are using #{message.library_name}, which will prevent the codeclimate-test-reporter from reporting results to codeclimate.com. Add the following to your spec or test helper to ensure codeclimate-test-reporter can post coverage results:" parts << "\n" + message.instructions + "\n" parts << "======" parts << "If this doesn't work, please consult https://codeclimate.com/docs#test-coverage-troubleshooting" parts << "======" else parts << @exception.message @exception.backtrace.each do |line| parts << line end end parts.join("\n") end private def exception_class @exception.class.to_s end def http_stubbing_exception HTTP_STUBBING_MESSAGES[exception_class] end end end end
Version data entries
25 entries across 23 versions & 3 rubygems