[ http://jira.codehaus.org/browse/SUREFIRE-744?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kristian Rosenvold closed SUREFIRE-744. --------------------------------------- Resolution: Fixed Fix Version/s: 2.9 Fixed in r1132734 with your exact patch, thanks ! I opted to generalize/extend one of the existing integration tests over your supplied unit test. This is not because I prefer integration tests over unit tests, but there is still some work that needs to be done on initialization of the unit-test fixtures before I think these can be written nicely and in a maintainable way. (your tests are basically based on other tests that were written by me so this is basically a critique of my own work ;) So currently the integration tests keep a good focus on the end-to-end feature being tested in a quite simple if somewhat slow-running way (run with -Pparallel profile). The unit tests tend to get very bogged down in all sorts of complex construction, although I imagine a few well-placed factory methods could change that radically. I don't seem to be getting the time to to get round to that, so any patches attempting to simplify/beautify the unit-test setup phase will have my full attention > NullPointerException in ConcurrentReporterManager, falsely report of "No > tests were executed!" > ---------------------------------------------------------------------------------------------- > > Key: SUREFIRE-744 > URL: http://jira.codehaus.org/browse/SUREFIRE-744 > Project: Maven Surefire > Issue Type: Bug > Components: Junit 4.7+ (parallel) support > Affects Versions: 2.8.1 > Reporter: Aslak Knutsen > Assignee: Kristian Rosenvold > Fix For: 2.9 > > Attachments: MavenSurefireJUnit47RunnerTestCase.java > > > See SUREFIRE-629, same result, just this time the assumption is on the use of > multiple @Ignore test cases > JUnitCoreRunListener.fillTestCountMap prefill a Map with all the Descriptions > for this testrun, but it gets a bit confused when multiple tests use @Ignore > on Class Level. > JUnit will report these as Description.isTest because they have no children, > but they are not, all their children are ignored. > So these are added as Methods to some other Class, which means the TestSet > Class lookup on testSkipped results in null. > a possible crude fix would be: > {code:title=org.apache.maven.surefire.junitcore.JUnitCoreRunListener} > private void fillTestCountMap( Description description ) > { > final ArrayList<Description> children = description.getChildren(); > TestSet testSet = new TestSet( description ); > Class<?> itemTestClass = null; > for ( Description item : children ) > { > if ( item.isTest() && item.getMethodName() != null) > { > testSet.incrementTestMethodCount(); > if ( itemTestClass == null ) > { > itemTestClass = item.getTestClass(); > } > } > else if ( item.getChildren().size() > 0 ) > { > fillTestCountMap( item ); > } > else > { > classMethodCounts.put( item.getClassName(), testSet ); > } > } > if ( itemTestClass != null ) > { > classMethodCounts.put( itemTestClass.getName(), testSet ); > } > } > {code} -- 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