#3354·newman

JUnit reporter treats requests with code 500 as testScriptError

Author: gabrielbergocCreated Apr 1, 2026Updated Apr 1, 2026

newman version: 6.2.2

JUnit reporter seems to be treating requests with code 500 as testScriptErrors instead of test failures.

My test script:

javascript
pm.test(`Response status code is 200`, function () {
    pm.expect(pm.response.code).to.equal(200);
});

const responseData = pm.response.json();
if (responseData && typeof responseData === 'object' && 'message' in responseData) {
    // if there's an error, the API returns an error code with a body like this:
    // { "message": "description of the error" }
    // so I expect to see a test failure with the error message from the API
    pm.expect.fail(`error: ${responseData.message}`);
}

pm.test(\"Response has the correct shape\", function () { // other assertions }

The CLI reporter prints it like this:

bash
   #  failure              detail

 01.  AssertionError       Response status code is 200
      iteration: 1         expected 500 to equal 200
                           at assertion:0 in test-script
                           inside "test-suite-name"

 02.  AssertionError       error: description of the error # note that this is the pm.expect.fail message I wrote
      iteration: 1         at test-script:11:15
                           inside "/price"

The JUnit reporter, instead, writes this result like this:

xml
<?xml version="1.0" encoding="UTF-8"?>
<testsuites name="collection-name" tests="20" time="49.785">
  <testsuite name="test-suite-name" id="d2b44653-e615-40a3-ad6b-51a446f848c2" timestamp="2026-04-01T18:26:50.667Z" tests="2" failures="11" errors="11" time="2.489">
    <system-err><![CDATA[Iteration: 0

---
testScriptError: Error: error: description of the error
    at Object.eval (eval at exec (evalmachine.<anonymous>:66:1819788), <anonymous>:13:24)
    at u.exec (evalmachine.<anonymous>:66:1819823)
    at t.exports (evalmachine.<anonymous>:66:5848)
    at Object.<anonymous> (evalmachine.<anonymous>:66:8247)
    at evalmachine.<anonymous>:15:26
    at Array.forEach (<anonymous>)
    at Object.emit (evalmachine.<anonymous>:14:59)
    at evalmachine.<anonymous>:59:24
    at evalmachine.<anonymous>:5:21
    at evalmachine.<anonymous>:6:18
---
Iteration: 1
...
<!-- there are 20 iterations in total, they all failed with the same errors -->
</system-err>
    <testcase name="Response status code is 200" time="4.845" classname="test-suite-name"/>
    <testcase name="Response has the correct shape" time="4.845" classname="test-suite-name"/>
  </testsuite>
</testsuites>