1
1
#import " JUnitReporter.h"
2
2
3
+ #pragma mark Constants
4
+ #define kJUnitReporter_Suite_Event @" event"
5
+ #define kJUnitReporter_Suite_Results @" results"
6
+
3
7
#pragma mark Private Interface
4
8
@interface JUnitReporter ()
5
9
@@ -26,6 +30,11 @@ - (id)init
26
30
if (self = [super init ]) {
27
31
_formatter = [[NSDateFormatter alloc ] init ];
28
32
[_formatter setDateFormat: @" yyyy-MM-dd'T'HH:mm:ssZZZZ" ];
33
+ self.testSuites = [NSMutableArray array ];
34
+ self.totalTests = 0 ;
35
+ self.totalFailures = 0 ;
36
+ self.totalErrors = 0 ;
37
+ self.totalTime = 0.0 ;
29
38
}
30
39
return self;
31
40
}
@@ -39,15 +48,6 @@ - (void)dealloc
39
48
}
40
49
41
50
#pragma mark Reporter
42
- - (void )beginOcunit : (NSDictionary *)event
43
- {
44
- self.testSuites = [NSMutableArray array ];
45
- self.totalTests = 0 ;
46
- self.totalFailures = 0 ;
47
- self.totalErrors = 0 ;
48
- self.totalTime = 0.0 ;
49
- }
50
-
51
51
- (void )beginTestSuite : (NSDictionary *)event
52
52
{
53
53
self.testResults = [NSMutableArray array ];
@@ -66,24 +66,23 @@ - (void)endTestSuite:(NSDictionary *)event
66
66
self.totalErrors += [event[kReporter_EndTestSuite_UnexpectedExceptionCountKey ] intValue ];
67
67
self.totalTime += [event[kReporter_EndTestSuite_TotalDurationKey ] floatValue ];
68
68
[self .testSuites addObject: @{
69
- @" event " : event,
70
- @" results " : self.testResults
69
+ kJUnitReporter_Suite_Event : event,
70
+ kJUnitReporter_Suite_Results : self.testResults
71
71
}];
72
72
self.testResults = nil ;
73
73
}
74
74
}
75
75
76
- - (void )endOcunit : ( NSDictionary *) event
76
+ - (void )close
77
77
{
78
78
[self write: @" <?xml version=\" 1.0\" encoding=\" UTF-8\" ?>\n " ];
79
79
[self writeWithFormat:
80
- @" <testsuites name=\" %@ \" tests=\" %d \" failures=\" %d \" errors=\" %d \" time=\" %f \" >\n " ,
81
- [self xmlEscape: event[kReporter_EndOCUnit_BundleNameKey ]],
80
+ @" <testsuites name=\" AllTestUnits\" tests=\" %d \" failures=\" %d \" errors=\" %d \" time=\" %f \" >\n " ,
82
81
self .totalTests, self .totalFailures, self .totalErrors, self .totalTime];
83
82
84
83
for (NSDictionary *testSuite in self.testSuites ) {
85
- NSDictionary *suiteEvent = testSuite[@" event " ];
86
- NSArray *suiteResults = testSuite[@" results " ];
84
+ NSDictionary *suiteEvent = testSuite[kJUnitReporter_Suite_Event ];
85
+ NSArray *suiteResults = testSuite[kJUnitReporter_Suite_Results ];
87
86
[self writeWithFormat:
88
87
@" \t <testsuite name=\" %@ \" tests=\" %d \" failures=\" %d \" errors=\" %d \" "
89
88
@" time=\" %f \" timestamp=\" %@ \" >\n " ,
@@ -119,6 +118,7 @@ - (void)endOcunit:(NSDictionary *)event
119
118
}
120
119
[self write: @" </testsuites>\n " ];
121
120
self.testSuites = nil ;
121
+ [super close ];
122
122
}
123
123
124
124
#pragma mark Private Methods
0 commit comments