Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Lär dig hur du skriver automatiserade tester mot privata slutpunkter för Azure Blob Storage med hjälp av Azurite Storage-emulatorn.
Köra tester på din lokala dator
Installera den senaste versionen av Python
Installera Azure Storage Explorer
Installera och kör Azurite:
Alternativ 1: Använd npm för att installera och kör sedan Azurite lokalt
# Install Azurite npm install -g azurite # Create an Azurite directory mkdir c:\azurite # Launch Azurite locally azurite --silent --location c:\azurite --debug c:\azurite\debug.logAlternativ 2: Använda Docker för att köra Azurite
docker run -p 10000:10000 mcr.microsoft.com/azure-storage/azurite azurite-blob --blobHost 0.0.0.0I Azure Storage Explorer väljer du Anslut till en lokal emulator
Ange ett visningsnamn och blobportnummer för att ansluta Azurite och använda Azure Storage Explorer för att hantera lokal bloblagring.
Skapa en virtuell Python-miljö
python -m venv .venvSkapa en container och initiera miljövariabler. Använd en PyTestconftest.py-fil för att generera tester. Här är ett exempel på en conftest.py fil:
from azure.storage.blob import BlobServiceClient import os def pytest_generate_tests(metafunc): os.environ['AZURE_STORAGE_CONNECTION_STRING'] = 'DefaultEndpointsProtocol=http;AccountName=[name];AccountKey=[key];BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;' os.environ['STORAGE_CONTAINER'] = 'test-container' # Create a container for Azurite for the first run blob_service_client = BlobServiceClient.from_connection_string(os.environ.get("AZURE_STORAGE_CONNECTION_STRING")) try: blob_service_client.create_container(os.environ.get("STORAGE_CONTAINER")) except Exception as e: print(e)Note
Värdet som visas för
AZURE_STORAGE_CONNECTION_STRINGär standardvärdet för Azurite, det är inte en privat nyckel.Installera beroenden som anges i en requirements.txt-fil
pip install -r requirements.txtKör tester:
python -m pytest ./tests
När du har kört tester kan du se filerna i Azurite Blob Storage med hjälp av Azure Storage Explorer.
Köra tester på Azure Pipelines
När du har kört tester lokalt kontrollerar du att testerna skickas på Azure Pipelines. Använd en Docker Azurite-avbildning som värdbaserad agent i Azure eller använd npm för att installera Azurite. I följande Azure Pipelines-exempel används npm för att installera Azurite.
trigger:
- master
steps:
- task: UsePythonVersion@0
displayName: 'Use Python 3.7'
inputs:
versionSpec: 3.7
- bash: |
pip install -r requirements_tests.txt
displayName: 'Setup requirements for tests'
- bash: |
sudo npm install -g azurite
sudo mkdir azurite
sudo azurite --silent --location azurite --debug azurite\debug.log &
displayName: 'Install and Run Azurite'
- bash: |
python -m pytest --junit-xml=unit_tests_report.xml --cov=tests --cov-report=html --cov-report=xml ./tests
displayName: 'Run Tests'
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: Cobertura
summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/coverage.xml'
reportDirectory: '$(System.DefaultWorkingDirectory)/**/htmlcov'
- task: PublishTestResults@2
inputs:
testResultsFormat: 'JUnit'
testResultsFiles: '**/*_tests_report.xml'
failTaskOnFailedTests: true
När du har kört Azure Pipelines-testerna bör du se utdata som liknar följande: