diff --git a/lib/reporter/reporters/json.js b/lib/reporter/reporters/json.js index 5e372198ec..3a4c34fd79 100644 --- a/lib/reporter/reporters/json.js +++ b/lib/reporter/reporters/json.js @@ -44,9 +44,15 @@ class JsonReporter extends BaseReporter { module.exports = (function() { return { write(results, options) { - const reporter = new JsonReporter(results, options); + const envs = Object.keys(results.modulesWithEnv); + const promises = envs.map(env => { + const envResult = {...results, modules: results.modulesWithEnv[env]}; + const reporter = new JsonReporter(envResult, options); - return reporter.write(); + return reporter.write(); + }); + + return Promise.all(promises); } }; })(); diff --git a/lib/reporter/reporters/junit.js b/lib/reporter/reporters/junit.js index 0360f16ac2..03d776caed 100644 --- a/lib/reporter/reporters/junit.js +++ b/lib/reporter/reporters/junit.js @@ -92,9 +92,16 @@ class JUnitReporter extends BaseReporter { module.exports = (function() { return { write(results, options, callback) { - const reporter = new JUnitReporter(results, options); - reporter.write() + const envs = Object.keys(results.modulesWithEnv); + const promises = envs.map(env => { + const envResult = {...results, modules: results.modulesWithEnv[env]}; + const reporter = new JUnitReporter(envResult, options); + + return reporter.write(); + }); + + Promise.all(promises) .then(_ => { callback(); })