Search code examples
mavenjenkinsjasminejasmine-maven-plugin

Setting up jasmine-maven-plugin failures to make jenkins unstable


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?


Solution

  • 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).