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

Reply via email to