Tibor17 commented on issue #226: Extended SimpleReportEntry with sourceText and nameText URL: https://github.com/apache/maven-surefire/pull/226#issuecomment-480264926 @eolivelli @sormuras We have successful build now https://builds.apache.org/job/maven-box/job/maven-surefire/job/1546-1222/ Now let's talk about Extension API for Reporters. In this PR we should create new config parameters which would alter the behavior of JUnit5's DiplayName functionality to any possibility that the user would need to have. My proposal is to encapsulate the parameters into particular reporter object. Since these parameters are new, I am proposing to keep the old parameters intact in version `3.0.0-M4` but create new ones in the encapsulating object: ```xml <statelessReporter impl="org.apace.maven.plugin.surefire.report.StatelessXmlReporter"> <!-- by default --> <useFileName>human readable</useFileName> <!-- default: fully qualified class name --> <useTestCaseClass>human readable</ useTestCaseClass> <useTestCaseMethod>human readable</ useTestCaseMethod> </statelessReporter> ``` Very similar object should be for `FileReporter` and `TestcycleConsoleOutputReceiver` reporter interface where the concrete implementation `ConsoleOutputFileReporter` would also need to have `useFileName`, `useTestCaseClass` and `useTestCaseMethod`. There are two concrete implementations for `TestcycleConsoleOutputReceiver`: `ConsoleOutputFileReporter` and `DirectConsoleOutput`. We have 5 reporters altogether, namely `FileReporter`, `StatelessXmlReporter`, `ConsoleReporter`, `StatisticsReporter` and `TestcycleConsoleOutputReceiver`. We have deeply mentioned three. The remaining two do not need to have the configuration for JUnit5 display name but their config object and Extension Interfaces should exist due to encapsulating other parameters, see next. Later in `3.0.0-M5` we should create encapsulating obects for each reporter having `impl` as the user's alternative to override our implementation, and particular parameters inside configuring the implementation. Currently, we have primitive standalone parameters which configure one or more reporters and it is not clear which parameter belongs to which reporter. Here is the list of such parameters: common for all reporters: `<reportsDirectory>`, `<trimStackTrace>` `*.xml` reporter: `<disableXmlReport>` `*-out.txt` Report: `<redirectTestOutputToFile>`, `<useFile>` `*-.txt` File reporter: `<encoding>`, `<reportFormat>` Both `*.txt` and `*.xml`: `<reportNameSuffix>` All, except the `common`, parameters can be encapsulated and thus all reporters become isolated in their configuration and extensible via the xml attribute `impl` in POM.
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
