Как читать отчеты о результатах теста на Travis CI?

Для моих построений на Travis я хочу иметь возможность читать результаты теста, когда есть неудачные тесты, чтобы увидеть стек из этих неудачных тестов. В настоящее время эти отчеты хранятся локально на машине, на которой выполняются тесты, поэтому я не могу получить доступ к локальным файлам, где находятся отчеты.

Я также не хочу архивировать эти файлы через Amazon S3, потому что это похоже на слишком много хлопот.

Что-то вроде: Как получить информацию о том, как формируется отчет о формах Travis-CI? кажется, что он может работать, но также кажется сложным.

В принципе, я хочу иметь возможность читать локальный тестовый файл результатов из Travis без прохождения через S3.

Ответы

Ответ 1

Самый простой способ получить полезный вывод на консоли о неудачных тестах - использовать журнал регистрации gradle.

test {
    testLogging {
        events "failed"
        exceptionFormat "short"
    }
}

Подробнее и более подробно см. соответствующую главу в gradle userguide: http://gradle.org/docs/current/dsl/org.gradle.api.tasks.testing.logging.TestLoggingContainer.html

Ответ 2

Чтобы развернуть ответ Рене Грошек, я нашел следующую конфигурацию хорошим компромиссом для Тревиса:

test {
    testLogging {
        events "passed", "skipped", "failed"
        exceptionFormat "full"
    }
}

Это приведет к следующему выводу:

com.package.SomeClassTest > testPass PASSED

com.package.SomeClassTest > testSkip SKIPPED

com.package.SomeClassTest > testFail FAILED
    java.lang.AssertionError: expected:<false> but was:<true>
        at org.junit.Assert.fail(Assert.java:88)
        at org.junit.Assert.failNotEquals(Assert.java:834)
        at org.junit.Assert.assertEquals(Assert.java:118)
        at org.junit.Assert.assertEquals(Assert.java:144)
        at com.package.SomeClassTest.testFail(SomeClassTest.java:42)

3 tests completed, 1 failed, 1 skipped

Отчет о тестировании все равно будет создан, поэтому вы можете проконсультироваться с ним при локальном тестировании.

Ответ 3

Попробуйте добавить --info к вашей команде:

./gradlew test --info

Если вы хотите больше, попробуйте:

./gradlew test --debug