 <p>I was able to solve this by putting Jasmine specific configuring up-front in a spec runner. In my <strong>spec/</strong> directory, I defined a file named <strong>spec_runner.js</strong> with the following:</p> <pre><code>var Jasmine = require('jasmine'), reporters = require('jasmine-reporters'); var junitReporter = new reporters.JUnitXmlReporter({ savePath: __dirname, consolidateAll: false }); var jasmine = new Jasmine(); jasmine.loadConfigFile("spec/support/jasmine.json"); jasmine.addReporter(junitReporter); jasmine.execute(); </code></pre> <p>Also inside <strong>spec/</strong>, I have a <strong>unit/</strong> and <strong>integration/</strong> directory where I have my unit and integration tests respectively. It's also important to have a <strong>spec/support/</strong> directory containing your configuration options for Jasmine. This directory should be created if you issue <strong>jasmine init</strong> from the root of your project.</p> <p><strong>spec/support/jasmine.json</strong> should look like the following for this example:</p> <pre><code>{ "spec_dir": "spec", "spec_files": [ "**/*[sS]pec.js" ], "helpers": [ "helpers/**/*.js" ] } </code></pre> <p>You should get JUnit XML output if you issue: <strong>jasmine spec/test_runner.js</strong> from the root of your project at a command line prompt.</p> <p>Lastly, to change the path to which your JUnit XML is written, you must change the <strong>savePath</strong> value in the object literal that is passed when creating a new instance of JUnitXmlReporter.</p>