Переадресация сообщений общего журнала из тестов - PullRequest
2 голосов
/ 03 декабря 2011

У меня много проблем с нахождением хорошей информации о том, как отобразить вывод журнала при выполнении моих тестов junit с Gradle.Чтобы оставаться независимым от Logger, я использую в своем проекте Apache commons-logging.

Теперь я нашел это, но на самом деле это ничего не объясняет: Gradle java.util.logging.Logger вывод в единицутесты

с помощью http://gradle.org/logging Я хорошо понимаю, как вести журнал с заданий gradle, но не как отображать сообщения журнала из моих тестов.

gradle -iтоже не то что я ищу.Хотя это дает мне некоторую информацию о тестах, это не дает мне вывод журнала.

Я ценю любые подсказки в правильных направлениях.

РЕДАКТИРОВАТЬ (делает это здесь, так как это довольно длинный ответ на ответ Питера):

Добавление

test {
testLogging.showStandardStreams = true
}

сработало, вроде.Это функция Gradle 1.0-milestone-6, поэтому мне сначала пришлось обновить Gradle.Затем мои log4j.properties, находящиеся в папке src / test / java, не могут быть найдены.Добавление

sourceSets.test.runtimeClasspath += files(sourceSets.test.java.srcDirs)

в файл build.gradle, по крайней мере, заставило предупреждение замолчать, но я не сделал никакого вывода журнала.Мой log4j.xml не должен быть проблемой, он работал в IDE:

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
    <param name="Target" value="System.out"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%-5p %c{1} - %m%n"/>
    </layout>
</appender>


<root>
    <priority value="info"/>
    <appender-ref ref="console"/>
</root>

</log4j:configuration>

Просто ради полноты я гуглил showStandardStream и нашел информацию, которую я должен был найти для начала: http://gradle.org/current/docs/dsl/org.gradle.api.tasks.testing.Test.html

Вопрос все еще открыт, хотя, похоже, он не работает:)

EDIT2:

Сейчас gradle test -iпечатает вывод информации журнала.Хотя это не совсем то, что я искал (поскольку он смешан с журналированием gradle), этого достаточно.

1 Ответ

2 голосов
/ 03 декабря 2011

Вы можете установить test.testLogging.showStandardStreams на true, а затем убедиться, что ваш тестовый журнал печатает на стандартный вывод.Это приведет к тому, что выходные данные журнала появятся как в командной строке, так и в отчетах о тестировании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...