2016-10-06 3 views
1

я получаю следующее в моем выходе МВН:Скрыть Maven «Запуск com.MyTest» лаглинь

Running com.MyTest 
Tests run: 1 , Failures: 0 , Errors: 0 , Skipped: 0 , Time elapsed: 0.02 sec - in com.MyTest 

несмотря на флаги:

-Dsurefire.printSummary=false -Dsurefire.useFile=true 

Есть ли способ, чтобы скрыть первую строку - Running com.MyTest?

Дополнительная информация

Он должен быть не имеет значения, но я также добавить:

-Dlogback.configurationFile=/Users/me/logback.xml 

с logback.xml, содержащим:

<configuration> 
    <root level="OFF"> 
    <appender-ref ref="STDOUT" /> 
    </root> 
</configuration> 

pom.xml безошибочный конфигурации

<project> 
    <build> 
    <pluginManagement> 
     <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>${maven.surefire.plugin}</version> 
     </plugin> 
     </plugins> 
    </pluginManagement> 

    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <version>${maven.surefire.plugin}</version> 
     <configuration> 
      <includes> 
      <include>**/*Test.class</include> 
      </includes> 
      <parallel>classes</parallel> 
      <threadCount>10</threadCount> 
      <useFile>false</useFile> 
     </configuration> 
     </plugin> 

    </plugins> 
    </build> 

    <profiles> 
    <profile> 
     <id>coverage-per-test</id> 
     <build> 
     <plugins> 
      <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.15</version> 
      <configuration> 
       <properties> 
       <property> 
        <name>listener</name> 
        <value>org.sonar.java.jacoco.JUnitListener</value> 
       </property> 
       </properties> 
      </configuration> 
      </plugin> 
     </plugins> 
     </build> 
    </profile> 
    </profiles> 
</project> 
+0

Я не думаю, что ваш журнал ошибок даже используется, ознакомьтесь с этим ответом http://stackoverflow.com/a/12276898/1743880 – Tunaki

+0

Да, я знаю. Я просто включил это, так что я не получаю ответов, говорящих мне, чтобы настроить уровень журнала. –

+1

С этой конфигурацией '-Dsurefire.printSummary = false -Dsurefire.useFile = true', вы не должны иметь эту строку, ни в консоли, ни в выходном файле. Просто протестирован с версией 2.19.1 от Surefire. Какую версию плагина Surefire вы используете? – Tunaki

ответ

1

Чтобы эта конкретная строка не отображалась, необходимо, чтобы консольный логгер не создавался. The code is creating this logger, когда следующий метод возвращает true:

private boolean shouldReportToConsole() 
{ 
    return isUseFile() ? isPrintSummary() : isRedirectTestOutputToFile() || isBriefOrPlainFormat(); 
} 

далее вниз по линии, если это возвращает true, экземпляр ConsoleReporteris created и it will write, что линия when the tests are started.

Так как:

Как таковая, с вашей конфигурацией -Dsurefire.printSummary=false -Dsurefire.useFile=true, она должна работать, и эта строка не должна находиться в консоли и не должна находиться в выходном файле. Ваша проблема в том, что конфигурация maven-surefire-plugin устанавливает <useFile>false</useFile>. Любое значение, настроенное в POM, напрямую зависит от того, что вы установили в командной строке. Это делается для того, чтобы удостовериться, что когда POM определяет значение, оно не может быть переопределено и помогает воспроизводить сборку.

Так что вы могли бы сделать вместо этого заставить неверное значение для reportFormat (что бы ни "brief" ни "plain"), и вы заметите "Running " линия не будет выделяться больше.

Это немного неуклюже. Таким образом, другим решением было бы определить свойство Maven и переопределить это свойство в командной строке.В плагине, есть:

<useFile>${surefire.plugin.useFile}</useFile> 

и определить свойство, который по умолчанию false:

<properties> 
    <surefire.plugin.useFile>false</surefire.plugin.useFile> 
</properties> 

Таким образом, сборка ведут себя так же, как и раньше. И когда вы определяете -Dsurefire.plugin.useFile=true, вы переопределите свойство Maven, и это обеспечит загрузку Surefire с useFile, установленным на true.

+0

Спасибо, что нашли время объяснить основные факторы. Так что я должен сознательно использовать недопустимое значение для 'reportFormat'? Я рад это сделать, я просто надеюсь, что будущая версия maven не запретит мне это делать. –

+0

@ Sridhar-Sarnobat Да, поэтому я думаю, что было бы предпочтительнее не делать этого и идти за переопределением нового решения собственности Maven. Это проще и документировано для работы. – Tunaki

Смежные вопросы