perfecto-reporting 2.0.5 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -95,12 +95,37 @@ class PerfectoReportiumClient
|
|
95
95
|
|
96
96
|
if !testResult.isSuccessful
|
97
97
|
params['failureDescription'] = testResult.message
|
98
|
+
params['failureReason'] = testResult.failureReason
|
98
99
|
end
|
99
100
|
|
100
101
|
executeScript($END_TEST_COMMAND, params)
|
101
102
|
return true
|
102
103
|
end
|
103
104
|
|
105
|
+
def testStop(testResult, context)
|
106
|
+
|
107
|
+
params = {
|
108
|
+
:success => testResult.isSuccessful
|
109
|
+
}
|
110
|
+
|
111
|
+
if !testResult.isSuccessful
|
112
|
+
params['failureDescription'] = testResult.message
|
113
|
+
params['failureReason'] = testResult.failureReason
|
114
|
+
end
|
115
|
+
|
116
|
+
unless context.testExecutionTags.nil?
|
117
|
+
params['tags'] = context.testExecutionTags
|
118
|
+
end
|
119
|
+
|
120
|
+
custom_json = context.customFields.map { |key, value| key + '=' + value }
|
121
|
+
# the format that script wants is: '[ "test=sample","tester=new_tester"]'
|
122
|
+
params['customFields'] = custom_json
|
123
|
+
|
124
|
+
executeScript($END_TEST_COMMAND, params)
|
125
|
+
return true
|
126
|
+
end
|
127
|
+
|
128
|
+
|
104
129
|
# log a new assertion
|
105
130
|
#
|
106
131
|
# message - a message to be attached to the assertion
|
@@ -23,4 +23,14 @@ class TestResultFactory
|
|
23
23
|
return TestResultFailure.new(reason, error)
|
24
24
|
end
|
25
25
|
|
26
|
-
|
26
|
+
# Creates a failed test execution result
|
27
|
+
#
|
28
|
+
# reason - string representation of the reason for the test failure
|
29
|
+
# error - the exception caused the failure
|
30
|
+
# failureReason - string that represents one of the catalogued failure reasons
|
31
|
+
#
|
32
|
+
# return - instance denoting a failed test execution
|
33
|
+
def self.createFailure reason, error, failureReason
|
34
|
+
return TestResultFailure.new(reason, error, failureReason)
|
35
|
+
end
|
36
|
+
end
|
@@ -5,7 +5,7 @@ require_relative 'TestResult'
|
|
5
5
|
# Define a failure test result.
|
6
6
|
class TestResultFailure < TestResult
|
7
7
|
|
8
|
-
attr_accessor :message
|
8
|
+
attr_accessor :message, :failureReason
|
9
9
|
|
10
10
|
@@STATUS = 'FAILED'
|
11
11
|
|
@@ -13,7 +13,8 @@ class TestResultFailure < TestResult
|
|
13
13
|
#
|
14
14
|
# reason - string representation of the failure reason
|
15
15
|
# error - exception caused to the failure
|
16
|
-
|
16
|
+
# failureReason - one of the failure reasons in the catalogue
|
17
|
+
def initialize(reason, error, failureReason=nil)
|
17
18
|
if error.is_a? Exception
|
18
19
|
@message = reason + '. Stack Trace:' + error.backtrace.to_s
|
19
20
|
else
|
@@ -23,8 +24,10 @@ class TestResultFailure < TestResult
|
|
23
24
|
if @message.length > 4096
|
24
25
|
@message = @message[0,4096]
|
25
26
|
end
|
26
|
-
|
27
|
+
@failureReason = failureReason
|
27
28
|
|
29
|
+
end
|
30
|
+
|
28
31
|
def isSuccessful
|
29
32
|
return false
|
30
33
|
end
|
@@ -33,4 +36,4 @@ class TestResultFailure < TestResult
|
|
33
36
|
@@STATUS
|
34
37
|
end
|
35
38
|
|
36
|
-
end
|
39
|
+
end
|