Surefire tries to instantiate nested TestCase classes
-----------------------------------------------------

                 Key: SUREFIRE-288
                 URL: http://jira.codehaus.org/browse/SUREFIRE-288
             Project: Maven Surefire
          Issue Type: Bug
          Components: JUnit 3.x support, Junit 4.x support
    Affects Versions: 2.0 (2.2 plugin)
         Environment: Windows XP, Java 1.4.2
            Reporter: Stephen Coy


If a JUnit TestCase contains any kind of nested class (static or not), Surefire 
feels obliged to try and instantiate it. This will fail with access violations 
if the class is not public.

Work around seems to be to make the nested class public, but surely Surefire 
has no business doing this anyway?

Here is a sample stack trace:

org.apache.maven.surefire.booter.SurefireExecutionException: Unable to 
instantiate POJO 'class 
au.com.optus.eFulfilment.sap.test.moduleTest.TestSapOrderComponent$MySapOrderComponent';
 nested exception is java.lang.InstantiationException: 
au.com.optus.eFulfilment.sap.test.moduleTest.TestSapOrderComponent$MySapOrderComponent;
 nested exception is org.apache.maven.surefire.testset.TestSetFailedException: 
Unable to instantiate POJO 'class 
au.com.optus.eFulfilment.sap.test.moduleTest.TestSapOrderComponent$MySapOrderComponent';
 nested exception is java.lang.InstantiationException: 
au.com.optus.eFulfilment.sap.test.moduleTest.TestSapOrderComponent$MySapOrderComponent
org.apache.maven.surefire.testset.TestSetFailedException: Unable to instantiate 
POJO 'class 
au.com.optus.eFulfilment.sap.test.moduleTest.TestSapOrderComponent$MySapOrderComponent';
 nested exception is java.lang.InstantiationException: 
au.com.optus.eFulfilment.sap.test.moduleTest.TestSapOrderComponent$MySapOrderComponent
java.lang.InstantiationException: 
au.com.optus.eFulfilment.sap.test.moduleTest.TestSapOrderComponent$MySapOrderComponent
        at java.lang.Class.newInstance0(Class.java:293)
        at java.lang.Class.newInstance(Class.java:261)
        at 
org.apache.maven.surefire.testset.PojoTestSet.<init>(PojoTestSet.java:52)
        at 
org.apache.maven.surefire.junit.JUnitDirectoryTestSuite.createTestSet(JUnitDirectoryTestSuite.java:61)
        at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.locateTestSets(AbstractDirectoryTestSuite.java:93)
        at 
org.apache.maven.surefire.Surefire.createSuiteFromDefinition(Surefire.java:147)
        at org.apache.maven.surefire.Surefire.run(Surefire.java:108)
        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:324)
        at 
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:225)
        at 
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:747)


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to