Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-6700

Failure in test class constructor or @Before method is not reported (was: Maven plugin doesn't set build to unstable on SurefireExecutionException)

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical Critical
    • junit-plugin
    • None
    • Hudson 1.351, Maven 2.2.1, Surefire 2.5, TestNG 5.9
      Jenkins 1.420

      Occasionally we have some test which lets Surefire fail hard which Hudson doesn't recognize. I.e. the tests are not executed, but the build result is still success.
      E.g. we had a test which failed with a NoSuchFieldException in the constructor of the test class:

      Running TestSuite
      log4j:WARN No appenders could be found for logger (...).
      log4j:WARN Please initialize the log4j system properly.
      org.apache.maven.surefire.booter.SurefireExecutionException:
      Cannot instantiate class XyzTest; nested exception is org.testng.TestNGException:
      Cannot instantiate class XyzTest
      org.testng.TestNGException:
      Cannot instantiate class XyzTest
      at org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:35)
      at org.testng.internal.ClassHelper.createInstance(ClassHelper.java:330)
      at org.testng.internal.ClassImpl.getDefaultInstance(ClassImpl.java:62)
      at org.testng.internal.ClassImpl.getInstances(ClassImpl.java:81)
      at org.testng.internal.TestNGClassFinder.<init>(TestNGClassFinder.java:114)
      at org.testng.TestRunner.initMethods(TestRunner.java:289)
      at org.testng.TestRunner.init(TestRunner.java:235)
      at org.testng.TestRunner.init(TestRunner.java:197)
      at org.testng.TestRunner.<init>(TestRunner.java:141)
      at org.testng.SuiteRunner$DefaultTestRunnerFactory.newTestRunner(SuiteRunner.java:488)
      at org.testng.SuiteRunner.privateRun(SuiteRunner.java:250)
      at org.testng.SuiteRunner.run(SuiteRunner.java:204)
      at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:877)
      at org.testng.TestNG.runSuitesLocally(TestNG.java:842)
      at org.testng.TestNG.run(TestNG.java:751)
      at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:62)
      at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:141)
      at org.apache.maven.surefire.Surefire.run(Surefire.java:180)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:350)
      at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1021)
      Caused by: java.lang.reflect.InvocationTargetException
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
      at org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:26)
      ... 23 more
      Caused by: java.lang.NoSuchFieldException: cipherService
      at java.lang.Class.getDeclaredField(Class.java:1882)
      at XyzTest.<init>(XyzTest.java:91)
      ... 28 more
      [ERROR] There are test failures.

            kutzi kutzi
            kutzi kutzi
            Votes:
            3 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: