Jenkins не получает результаты теста Junit XML, несмотря на то, что они записываются в соответствующую папку - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть конфигурация Jenkins, которая выполняет серию юнит-тестов pytest после коммитов в Github.Я запускаю свои тесты, используя Jenkinsfile:

                withEnv(['PATH+EXTRA=$PYTHON_HOME) {
                    sh script: "pip install virtualenv"
                    echo "Checking out Test suite repo."
                    sh label: "Create virtual environment", script: 'virtualenv venv'
                    sh label: "Activate virtual environment", script: 'source venv/bin/activate'
                    sh label: "Install dependencies", script: 'pip install --user -r requirements.txt'
                    sh label: "Disable pytest error", script: 'set +e'
                    sh label: 'execute test suite, exit upon first failure', script: "pytest -rxs -k 'test-stuff' --no-snapshot --junit-xml reports/results.xml run_tests.py"
                    sh label: 'Enable errors', script: 'set -e'
                }
            post {
                always {
                    junit allowEmptyResults: true, testResults: 'reports/results.xml'
                }
            }

Как вы можете видеть, результаты теста junit записываются в папку с именем reports в файл с именем results.xml.Это то, о чем документация запрашивает , чтобы Дженкинс мог подобрать результаты этих испытаний.

Однако, когда я нажимаю на вкладку Tests в Blue Ocean, я вижу следующий экран:

enter image description here

Однако,если я захожу в свое рабочее пространство в Jenkins и перечисляю содержимое моего каталога results, я отчетливо вижу записанный недавно созданный файл results.xml: enter image description here

...