class Trainer::LegacyXCResult::ActionTestMetadata
-
-
Supertype:
ActionTestSummaryIdentifiableObject
-
Kind: object
-
Properties: + testStatus:
String
+ duration: Double? + summaryRef:Reference
? + performanceMetricsCount: Int + failureSummariesCount: Int + activitySummariesCount: Int
-
Attributes
Public Class Methods
Source
# File trainer/lib/trainer/legacy_xcresult.rb, line 166 def initialize(data, parent) self.test_status = fetch_value(data, "testStatus") self.duration = fetch_value(data, "duration").to_f self.performance_metrics_count = fetch_value(data, "performanceMetricsCount") self.failure_summaries_count = fetch_value(data, "failureSummariesCount") self.activity_summaries_count = fetch_value(data, "activitySummariesCount") super(data, parent) end
Calls superclass method
Trainer::LegacyXCResult::ActionTestSummaryIdentifiableObject::new
Public Instance Methods
Source
# File trainer/lib/trainer/legacy_xcresult.rb, line 175 def all_subtests return [self] end
Source
# File trainer/lib/trainer/legacy_xcresult.rb, line 179 def find_failure(failures) sanitizer = proc { |name| name.gsub(/\W/, "_") } sanitized_identifier = sanitizer.call(self.identifier) if self.test_status == "Failure" # Tries to match failure on test case name # Example TestFailureIssueSummary: # producingTarget: "TestThisDude" # test_case_name: "TestThisDude.testFailureJosh2()" (when Swift) # or "-[TestThisDudeTests testFailureJosh2]" (when Objective-C) # Example ActionTestMetadata # identifier: "TestThisDude/testFailureJosh2()" (when Swift) # or identifier: "TestThisDude/testFailureJosh2" (when Objective-C) found_failure = failures.find do |failure| # Sanitize both test case name and identifier in a consistent fashion, then replace all non-word # chars with underscore, and compare them sanitized_test_case_name = sanitizer.call(failure.test_case_name) sanitized_identifier == sanitized_test_case_name end return found_failure else return nil end end