class Fastlane::Actions::TestsFromJunitAction
Public Class Methods
available_options()
click to toggle source
# File lib/fastlane/plugin/retry_tests/actions/tests_from_junit.rb, line 33 def self.available_options [ FastlaneCore::ConfigItem.new( key: :junit, env_name: "FL_SUPPRESS_TESTS_FROM_JUNIT_JUNIT_REPORT", # The name of the environment variable description: "The junit xml report file from which to collect the tests to suppress", verify_block: proc do |path| UI.user_error!("Error: cannot find the junit xml report file '#{path}'") unless File.exist?(path) end ) ] end
description()
click to toggle source
@!group Documentation
# File lib/fastlane/plugin/retry_tests/actions/tests_from_junit.rb, line 29 def self.description "Retrieves the failing and passing tests as reported in a junit xml file" end
is_supported?(platform)
click to toggle source
# File lib/fastlane/plugin/retry_tests/actions/tests_from_junit.rb, line 54 def self.is_supported?(platform) platform == :ios end
return_value()
click to toggle source
# File lib/fastlane/plugin/retry_tests/actions/tests_from_junit.rb, line 46 def self.return_value "A Hash with an Array of :passing and :failed tests" end
run(params)
click to toggle source
# File lib/fastlane/plugin/retry_tests/actions/tests_from_junit.rb, line 4 def self.run(params) report = ::TestCenter::Helper::XcodeJunit::Report.new(params[:junit]) passing = [] failed = [] report.testables.each do |testable| testable.testsuites.each do |testsuite| testsuite.testcases.each do |testcase| if testcase.passed? passing << testcase.identifier else failed << testcase.identifier end end end end { failed: failed, passing: passing } end