Skip to content

Commit 671bc9e

Browse files
authored
Update jenkins mode to use suiteTitleSeparatedBy and update documentation (#123)
* Update jenkins mode to use suiteTitleSeparatedBy and update documentation * Update docs
1 parent 3824381 commit 671bc9e

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ var mocha = new Mocha({
8686
reporter: 'mocha-junit-reporter',
8787
reporterOptions: {
8888
testsuitesTitle: true,
89-
suiteTitleSeparatedBy: '.' // suites separator, default is space (' ')
89+
suiteTitleSeparatedBy: '.' // suites separator, default is space (' '), or period ('.') in jenkins mode
9090
}
9191
});
9292
```
@@ -186,7 +186,8 @@ output line 2
186186
| properties | `null` | a hash of additional properties to add to each test suite |
187187
| toConsole | `false` | if set to a truthy value the produced XML will be logged to the console |
188188
| useFullSuiteTitle | `false` | if set to a truthy value nested suites' titles will show the suite lineage |
189-
| suiteTitleSeparedBy | ` ` (space) | the character to use to separate nested suite titles. (defaults to ' ') |
189+
| suiteTitleSeparatedBy | ` ` (space) | the character to use to separate nested suite titles. (defaults to ' ', '.' if in jenkins mode) |
190+
| suiteTitleSeparedBy | ` ` (space) | deprecated. use `suiteTitleSeparatedBy` |
190191
| testCaseSwitchClassnameAndName | `false` | set to a truthy value to switch name and classname values |
191192
| rootSuiteTitle | `Root Suite` | the name for the root suite. (defaults to 'Root Suite') |
192193
| testsuitesTitle | `Mocha Tests` | the name for the `testsuites` tag (defaults to 'Mocha Tests') |

index.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,7 @@ function configureDefaults(options) {
7676
updateOptionsForJenkinsMode(config);
7777
}
7878

79-
config.suiteTitleSeparedBy = config.suiteTitleSeparedBy || ' ';
80-
config.suiteTitleSeparatedBy = config.suiteTitleSeparatedBy || config.suiteTitleSeparedBy;
79+
config.suiteTitleSeparatedBy = config.suiteTitleSeparatedBy || config.suiteTitleSeparedBy || ' ';
8180

8281
return config;
8382
}
@@ -98,8 +97,8 @@ function updateOptionsForJenkinsMode(options) {
9897
if (options.testCaseSwitchClassnameAndName === undefined) {
9998
options.testCaseSwitchClassnameAndName = true;
10099
}
101-
if (options.suiteTitleSeparedBy === undefined) {
102-
options.suiteTitleSeparedBy = '.';
100+
if (options.suiteTitleSeparatedBy === undefined) {
101+
options.suiteTitleSeparatedBy = '.';
103102
}
104103
}
105104

@@ -177,15 +176,15 @@ function generateProperties(options) {
177176
}, []);
178177
}
179178

180-
function getJenkinsClassname (test) {
179+
function getJenkinsClassname (test, options) {
181180
debug('Building jenkins classname for', test);
182181
var parent = test.parent;
183182
var titles = [];
184183
while (parent) {
185184
parent.title && titles.unshift(parent.title);
186185
parent = parent.parent;
187186
}
188-
return titles.join('.');
187+
return titles.join(options.suiteTitleSeparatedBy);
189188
}
190189

191190
/**
@@ -295,7 +294,7 @@ MochaJUnitReporter.prototype.getTestsuiteData = function(suite) {
295294
MochaJUnitReporter.prototype.getTestcaseData = function(test, err) {
296295
var jenkinsMode = this._options.jenkinsMode;
297296
var flipClassAndName = this._options.testCaseSwitchClassnameAndName;
298-
var name = stripAnsi(jenkinsMode ? getJenkinsClassname(test) : test.fullTitle());
297+
var name = stripAnsi(jenkinsMode ? getJenkinsClassname(test, this._options) : test.fullTitle());
299298
var classname = stripAnsi(test.title);
300299
var testcase = {
301300
testcase: [{

0 commit comments

Comments
 (0)