Slide 28
Slide 28 text
Post Code Coverage
lane :post_coverage do
rate = export_coverage
if rate
influxdb(table_name: table_name, values: {coverage: rate})
slack(message: "Code coverage: #{rate.to_f.round(4) * 100}%", channel: “#ios-
notifications")
end
end
private_lane :export_coverage do
fastlane_require 'nokogiri'
output_directory = 'coverage_report'
reports = Dir.glob(File.join(ROOT_PATH, output_directory, '*.xml'))
slather(use_bundle_exec: true, output_directory: output_directory)
if reports.empty?
nil
else
xml = Nokogiri::XML(File.open(reports.first))
coverage = xml.xpath('//coverage').first
coverage.attr("line-rate").to_f
end
end