У меня есть следующая функция в сценарии оболочки:
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, но не смог найти ответ.