Skip to content

Commit 72e6563

Browse files
authoredOct 23, 2017
Merge pull request #283 from hugosenari/junit-report-time
JUnit reporter does not output time #275
2 parents 62388a3 + 39f493d commit 72e6563

File tree

2 files changed

+19
-9
lines changed

2 files changed

+19
-9
lines changed
 

‎lib/reporters/junit.js

+13-5
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ exports.run = function (files, opts, callback) {
9797
return path.resolve(p);
9898
});
9999

100-
var modules = {}
100+
var modules = {};
101101
var curModule;
102102

103103
nodeunit.runFiles(paths, {
@@ -108,13 +108,21 @@ exports.run = function (files, opts, callback) {
108108
errorCount: 0,
109109
failureCount: 0,
110110
tests: 0,
111-
testcases: [],
112-
name: name
111+
testcases: {},
112+
name: name,
113+
start: new Date().getTime()
113114
};
114115
modules[name] = curModule;
115116
},
117+
testStart: function(name) {
118+
curModule.testcases[name] = {name: name, start : new Date().getTime()};
119+
},
120+
moduleDone: function(name) {
121+
curModule.end = new Date().getTime();
122+
},
116123
testDone: function (name, assertions) {
117-
var testcase = {name: name};
124+
var testcase = curModule.testcases[name];
125+
testcase.end = new Date().getTime();
118126
for (var i=0; i<assertions.length; i++) {
119127
var a = assertions[i];
120128
if (a.failed()) {
@@ -134,7 +142,7 @@ exports.run = function (files, opts, callback) {
134142
}
135143
}
136144
curModule.tests++;
137-
curModule.testcases.push(testcase);
145+
curModule.testcases[name] = testcase;;
138146
},
139147
done: function (assertions) {
140148
var end = new Date().getTime();

‎share/junit.xml.ejs

+6-4
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@
44
<testsuite name="<%= suite.name %>"
55
errors="<%= suite.errorCount %>"
66
failures="<%= suite.failureCount %>"
7-
tests="<%= suite.tests %>">
8-
<% for (var j=0; j < suite.testcases.length; j++) { %>
9-
<% var testcase=suites[i].testcases[j]; %>
10-
<testcase name="<%= testcase.name %>">
7+
tests="<%= suite.tests %>"
8+
time="<%= (suite.end - suite.start)/1000 %>"
9+
>
10+
<% for (var testCaseName in suite.testcases) { %>
11+
<% var testcase=suite.testcases[testCaseName]; %>
12+
<testcase name="<%= testcase.name %>" time="<%= (testcase.end - testcase.start)/1000 %>">
1113
<% if (testcase.failure) { %>
1214
<failure message="<%= testcase.failure.message %>">
1315
<% if (testcase.failure.backtrace) { %><%= testcase.failure.backtrace %><% } %>

0 commit comments

Comments
 (0)
Please sign in to comment.