Как добавить разные тесты pytest к одному и тому же файлу junit xml вместо его переопределения? - PullRequest
2 голосов
/ 24 марта 2020

У меня есть следующая функция в сценарии оболочки:

test_handler(){
  FOLDER_NAME=$1
  echo "running tests in: ${FOLDER_NAME} package"
  cd ${SOURCE_CODE_FOLDER}/${FOLDER_NAME}
  pipenv install --dev
  #need to run this with pipenv run to get the install dependencies.
  pipenv run run-tests
  EXIT_CODE=$?

  if [ ${EXIT_CODE} != 0 ];then
    echo "error, Exit code=${EXIT_CODE} in ${FOLDER_NAME}'s tests." >> /home/logs.txt;
    exit 1;
  fi;

  echo "${FOLDER_NAME}'s tests succeeded." >> /home/logs.txt;
}

Функция работает нормально, и в сценарии она вызывается дважды, с двумя разными именами папок, для каждого из которых есть "test "пакет с pytests внутри.

строка pipenv run run-tests выполняет следующий сценарий:

#!/bin/bash
python3.7 -m pytest -s --cov-append --junitxml=/home/algobot-packer/tests.xml $PWD/tests/
EXIT_CODE=$?

exit ${EXIT_CODE}

В конечном итоге он генерирует файл тестов. xml. Единственная проблема заключается в том, что второй вызов функции перекрывает первый.

Есть ли способ сгенерировать один xml файл, содержащий результаты запуска сценария испытаний дважды? (Добавление результатов вместо переписывания файла) Я попытался просмотреть документы и pytest --help, но не смог найти ответ.

...