2

I'd like to configure jasmine-maven-plugin to make jenkins unstable if a test fails but the only options appear to be:

  1. set haltOnFailure true and have failures break the build
  2. set haltOnFailure false and have failures reported in the logs but the build succeeds.

Is there a way to check the logs post-test and mark the build unstable?

kriegaex
  • 63,017
  • 15
  • 111
  • 202
Sam Hasler
  • 12,344
  • 10
  • 72
  • 106

2 Answers2

1

Found the answer myself!

I had to configure jenkins to also look at the jasmine junit report:

under Publish JUnit test result report add **/TEST-jasmine.xml to Test report XMLs, comma separated if there is something there already:

**/TESTS-TestSuites.xml,**/TEST-jasmine.xml

Sam Hasler
  • 12,344
  • 10
  • 72
  • 106
1

Sam Hasler's answer only works for freestyle Jenkins jobs. We use Maven jobs and this configuration option of the JUnit Jenkins plugin is unavailable for Maven jobs. So I was looking for a more universal solution.

What we did in order to get it working is to reconfigure the Jasmine Maven plugin so as to

  • no longer halt the build upon test failures and
  • write the Jasmine test reports to target/surefire-reports where Jenkins expects to find them. This has the additional advantage that we now also see the failed Jasmine test in the build job alongside our Java tests.
<haltOnFailure>false</haltOnFailure>
<jasmineTargetDir>${project.build.directory}/surefire-reports</jasmineTargetDir>

Now our build jobs are yellow (unstable) as expected, no longer red (failed).

kriegaex
  • 63,017
  • 15
  • 111
  • 202