[
https://issues.apache.org/jira/browse/SUREFIRE-1293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15562653#comment-15562653
]
ASF GitHub Bot commented on SUREFIRE-1293:
------------------------------------------
Github user britter commented on a diff in the pull request:
https://github.com/apache/maven-surefire/pull/127#discussion_r82631691
--- Diff:
maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/TestSetRunListener.java
---
@@ -76,7 +76,7 @@ public TestSetRunListener( ConsoleReporter
consoleReporter, FileReporter fileRep
StatisticsReporter statisticsReporter,
boolean trimStackTrace,
boolean isPlainFormat, boolean
briefOrPlainFormat )
{
- this.consoleReporter = consoleReporter;
+ this.consoleReporter = consoleReporter != null ? consoleReporter :
new NullConsoleReporter();
--- End diff --
> All of these classes are in surefire-common project. Therefore it would
be nice not to create a new object new NullConsoleReporter() but instead keep
it as static final constant in abstract Factory in surefire-common.
Agreed, I can change this.
> I would say that the caller should pass non-null consistent object into
this class TestSetRunListener via constructor
Yes it would certainly be better to enforce this kinds of invariants. We
can do it like this, but then the constructor of `TestSetRunListener` has to
check for null parameters and throw an exception if null is passed.
> If we accepted such paradigm then all such occurrences in this PR would
have to change it.
I don't understand. Change the whole surefire code base for all occurrences
of this pattern?
> Simplify org.apache.maven.plugin.surefire.report.TestSetRunListener by using
> the null object pattern
> ----------------------------------------------------------------------------------------------------
>
> Key: SUREFIRE-1293
> URL: https://issues.apache.org/jira/browse/SUREFIRE-1293
> Project: Maven Surefire
> Issue Type: Improvement
> Components: Maven Surefire Plugin
> Reporter: Benedikt Ritter
> Labels: github
> Fix For: 2.19.2
>
>
> The class org.apache.maven.plugin.surefire.report.TestSetRunListener has a
> lot of checks like this:
> {code:java}
> if( field != null )
> {
> // do something with field
> }
> {code}
> This can be simplified by providing fallback implementations for the fields
> being used by TestSetRunListener.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)