Каталог результатов тестов, подключенных к Android

#android #testing #output

#Android #тестирование #вывод

Вопрос:

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


Теперь дело в том, что результаты

  • модульные тесты хранятся в build/reports/tests ( ./debug или ./release )
  • инструментальные тесты хранятся в build/outputs/connected

Возможно ли каким-либо образом изменить каталог результатов инструментальных тестов на build/reports/tests/connected ?

Спасибо вам уже!

Ответ №1:

Нашел ответ сам, Чтобы изменить каталог для использования инструментальных тестов:

 android {
    testOptions {
        reportDir = "$project.buildDir/reports"
        resultsDir = "$project.buildDir/test-results"
    }

    # Or for lint if needed
    lintOptions {
        htmlOutput = file("$project.buildDir/reports/lint/LINT-results.html")
        xmlOutput = file("$project.buildDir/test-results/lint/LINT-results.xml")
    }
}
  

Комментарии:

1. У меня это не работает. После добавления этого кода при использовании grade test папка не создается. Используется последняя версия gradle, поставляемая в комплекте с последней стабильной версией Android Studio на Win10

Ответ №2:

Я считаю, что это было бы более надежным:

 android {

    [...]

    testOptions {
        if (project.hasProperty("customResultsDir")) {
            resultsDir "${customResultsDir}"
        }
        if (project.hasProperty("customReportDir")) {
            reportDir "${customReportDir}"
        }
    }
}
  

Бонус заключается в том, что он проверяет, передано ли свойство, прежде чем пытаться его использовать (хорошая практика). Но по-настоящему интересно то, что таким образом вы интерполируете замыкание вместо переменной — различия открывают дополнительные возможности (проверьте интерполяцию строк и интерполяцию замыкания).

В моем сценарии только с помощью закрытия мне удалось получить свойства для заполнения в точное время.