[ http://jira.codehaus.org/browse/SUREFIRE-642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=233126#action_233126 ]
Marvin Froeder edited comment on SUREFIRE-642 at 8/25/10 1:37 PM: ------------------------------------------------------------------ I made a small patch for it, I hope a 2.6.1 could carry this fix. {code} Index: surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java =================================================================== --- surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java (revision 989255) +++ surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java (working copy) @@ -115,13 +115,24 @@ throw new IllegalStateException( "You must call locateTestSets before calling execute" ); } + Class junitTest; + try + { + junitTest = Class.forName( "junit.framework.Test" ); + } + catch ( ClassNotFoundException e ) + { + junitTest = null; + } + List testNgTestClasses = new ArrayList(); List junitTestClasses = new ArrayList(); for ( Iterator it = testSets.values().iterator(); it.hasNext(); ) { SurefireTestSet testSet = (SurefireTestSet) it.next(); Class c = testSet.getTestClass(); - if (junit.framework.Test.class.isAssignableFrom( c )) { + if ( junitTest != null && junitTest.isAssignableFrom( c ) ) + { junitTestClasses.add( c ); } else { testNgTestClasses.add( c ); Index: surefire-integration-tests/src/test/resources/testng-simple/pom.xml =================================================================== --- surefire-integration-tests/src/test/resources/testng-simple/pom.xml (revision 989255) +++ surefire-integration-tests/src/test/resources/testng-simple/pom.xml (working copy) @@ -39,6 +39,12 @@ <version>${testNgVersion}</version> <classifier>jdk15</classifier> <scope>test</scope> + <exclusions> + <exclusion> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + </exclusion> + </exclusions> </dependency> </dependencies> {code} I tamper with testng-simple so it can catch the issue was (Author: velo): I made a small patch for it, I hope a 2.6.1 could carry this fix. {code} Index: src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java =================================================================== --- src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java (revision 989255) +++ src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java (working copy) @@ -29,13 +29,6 @@ import org.apache.maven.artifact.versioning.ArtifactVersion; import org.apache.maven.artifact.versioning.DefaultArtifactVersion; -import org.apache.maven.surefire.report.ReportEntry; -import org.apache.maven.surefire.report.ReporterException; -import org.apache.maven.surefire.report.ReporterManager; -import org.apache.maven.surefire.report.ReporterManagerFactory; -import org.apache.maven.surefire.suite.AbstractDirectoryTestSuite; -import org.apache.maven.surefire.testset.SurefireTestSet; -import org.apache.maven.surefire.testset.TestSetFailedException; /** * Test suite for TestNG based on a directory of Java test classes. Can also execute JUnit tests. @@ -115,13 +108,24 @@ throw new IllegalStateException( "You must call locateTestSets before calling execute" ); } + Class junitTest; + try + { + junitTest = Class.forName( "junit.framework.Test" ); + } + catch ( ClassNotFoundException e ) + { + junitTest = null; + } + List testNgTestClasses = new ArrayList(); List junitTestClasses = new ArrayList(); for ( Iterator it = testSets.values().iterator(); it.hasNext(); ) { SurefireTestSet testSet = (SurefireTestSet) it.next(); Class c = testSet.getTestClass(); - if (junit.framework.Test.class.isAssignableFrom( c )) { + if ( junitTest != null && junitTest.isAssignableFrom( c ) ) + { junitTestClasses.add( c ); } else { testNgTestClasses.add( c ); {code} > TestNG support doesn't w/o Junit on classpath > --------------------------------------------- > > Key: SUREFIRE-642 > URL: http://jira.codehaus.org/browse/SUREFIRE-642 > Project: Maven Surefire > Issue Type: Bug > Components: TestNG support > Affects Versions: 2.6 > Reporter: Marvin Froeder > > I have the same problem that Larry reported here: > http://jira.codehaus.org/browse/SUREFIRE-615?focusedCommentId=232600&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_232600 > Our company excludes junit from classpath to make sure people won't use it by > mistake. -- 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