Как запустить pytest (модульные тесты) внутри конвейера Azure DevOps CI с использованием принципа службы в качестве механизма проверки подлинности по умолчанию
Я хотел протестировать следующий фрагмент кода во время конвейера CI azure DevOps, который отлично работает на моем локальном компьютере с помощью переменных среды
import os
from azure.identity import DefaultAzureCredential
from azure.keyvault.secrets import SecretClient
def get_secret():
# Acquire the resource URL
vault_url = os.environ["KEY_VAULT_URL"]
# Acquire a credential object
credential = DefaultAzureCredential()
# Acquire a client object
secret_client = SecretClient(vault_url=vault_url, credential=credential)
# Attempt to perform an operation
retrieved_secret = secret_client.get_secret("secret-name-01")
# Return secret value
return retrieved_secret
И в моем test_file.py
def test_secret():
assert get_secret() == 'myvalue'
Мой конвейер CI в Azure DevOps выглядит так
trigger:
- master
pool:
vmImage: ubuntu-latest
strategy:
matrix:
Python37:
python.version: '3.7'
Python38:
python.version: '3.8'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '$(python.version)'
displayName: 'Use Python $(python.version)'
- script: |
python -m pip install --upgrade pip
pip install -r requirements.txt
displayName: 'Install dependencies'
- script: |
pip install pytest pytest-azurepipelines
displayName: 'install test Apis'
- task: AzureCLI@1
displayName: 'Running Unit Tests'
inputs:
azureSubscription: 'My Service Principle'
scriptLocation: 'inlineScript'
inlineScript: 'pytest /test/'
После долгого времени он прерывается со следующей ошибкой
src / test / test_app.py ./home/vsts/work/_temp/azureclitaskscript1616080518256.sh: строка 1: 1846 Прервано (дамп ядра) pytest src / test /
##[error] Скрипт завершился ошибкой: Ошибка: процесс '/usr / bin / bash' завершился неудачно с кодом выхода 134
Какие изменения мне нужны, чтобы это исправить? заранее спасибо