Как запустить 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

Какие изменения мне нужны, чтобы это исправить? заранее спасибо

0 ответов

Другие вопросы по тегам