Код: Выделить всё
trigger:
include:
- main # При необходимости измените имя ветки
pool:
vmImage : 'windows-latest' # Один и тот же образ виртуальной машины для всех этапов
stages:
- stage: InstallDependities
displayName: «Установить зависимости»
jobs:
job: Установить
displayName: «Установить зависимости»
шаги:
Использовать ту же версию Python
task: UsePythonVersion@0
inputs:
versionSpec: '3.x' # Настроить в соответствии с ваши требования к версии Python
addToPath: true
- скрипт: |
python -m venv .venv
.venv\Scripts\activate
python.exe -m pip install --upgrade pip
python.exe -m pip install
python.exe -m pip install -r require.txt
python -m playwright install
displayName: «Настройка виртуальной среды Python и установка зависимостей»
Опубликовать виртуальную среду как артефакт - задача: PublishBuildArtifacts@1
Входные данные:
PathtoPublish: '.venv' # Путь к виртуальной среде
ArtifactName: 'venv' # Имя артефакта
publishLocation: 'Container'
Выполните тестирование функций инвентаря
- этап: InventoryFeature
зависит от: InstallDependency
displayName: «Выполнить тесты функций инвентаризации»
jobs:
job: RunInventory
displayName: «Выполнить тесты функций инвентаризации» "
шаги:
Используйте ту же версию Python
задача: UsePythonVersion@0
входные данные:
versionSpec: '3.x'
addToPath: true
- задача: DownloadBuildArtifacts@0
входные данные:
имя артефакта: 'venv'
путь загрузки: '$(System.DefaultWorkingDirectory)'
- < li>script: |
$(System.DefaultWorkingDirectory)\venv\Scripts\activate
behave Features/inventory.feature --junit --junit-directory report/inventory
displayName: "Run Тестирование функций инвентаря"
- задача: PublishTestResults@2входные данные:
testResultsFiles: 'reports/inventory/*.xml'
testRunTitle: «Тесты функций инвентаря»
Проведение тестов функций магазинов
- этап: StoresFeature
dependentsOn: InstallDependency
displayName: «Выполнить тесты функций магазинов»
jobs:
job: RunStoresdisplayName: «Выполнить Тестирование функций магазинов»
шаги:
Используйте ту же версию Python
задача: UsePythonVersion@0входные данные:
versionSpec: '3.x'
addToPath: true
- задача: DownloadBuildArtifacts@0
входные данные:
artifactName: 'venv'
downloadPath: '$(System.DefaultWorkingDirectory)'
Активируйте виртуальную среду и запустите тесты - скрипт: |
$(System.DefaultWorkingDirectory)\venv\Scripts\activate
behave Features/stores.feature --junit --junit-directory report/stores
displayName: «Выполнить тесты функций магазинов»
- задача: PublishTestResults@2
Входные данные:
testResultsFiles: 'reports/stores/*.xml'
testRunTitle: "Тесты функций магазинов"
Выполнение тестов функций цветов
- этап: ColorsFeature
зависит от: InstallDependency
displayName: «Выполнить тесты функций цветов»
jobs:
job: RunColors
displayName: «Выполнить тесты функций цветов» "
шаги:
Используйте ту же версию Python
задача: UsePythonVersion@0
входные данные:
versionSpec: '3.x'
addToPath: true
- задача: DownloadBuildArtifacts@0
входные данные:
имя артефакта: 'venv'
путь загрузки: '$(System.DefaultWorkingDirectory)'
- < li>script: |
$(System.DefaultWorkingDirectory)\venv\Scripts\activate
behave Features/colors.feature --junit --junit-directory report/colors
displayName: "Run Цвета Тесты"
- задача: PublishTestResults@2
входные данные:
testResultsFiles: 'reports/colors/*.xml'
testRunTitle: «Тесты функций цветов»
или есть ли у кого-нибудь лучшее предложение для достижения той же цели? признателен за любые рекомендации.
Подробнее здесь: https://stackoverflow.com/questions/793 ... d-pipeline
Мобильная версия