Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megtudhatja, hogyan írhat automatizált teszteket az Azure Blob Storage privát végpontjaira az Azurite Storage emulátor használatával.
Tesztek futtatása a helyi gépen
A Python legújabb verziójának telepítése
Az Azurite telepítése és futtatása:
1. lehetőség: A telepítéshez használja az npm-et, majd futtassa helyileg az Azurite-ot
# 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.log2. lehetőség: Az Azurite futtatása a Docker használatával
docker run -p 10000:10000 mcr.microsoft.com/azure-storage/azurite azurite-blob --blobHost 0.0.0.0Az Azure Storage Explorerben válassza a Csatolás helyi emulátorhoz lehetőséget
Adjon meg egy megjelenítési nevet és Blobs portszámot az Azurite-hoz való csatlakozáshoz, és használja az "Azure Storage Explorer"-t a helyi blokk-tárhely kezeléséhez.
Virtuális Python-környezet létrehozása
python -m venv .venvHozzon létre egy tárolót, és inicializálja a környezeti változókat. Tesztek létrehozásához használjon PyTest-conftest.py fájlt. Íme egy példa egy conftest.py fájlra:
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)Feljegyzés
A megjelenített
AZURE_STORAGE_CONNECTION_STRINGérték az Azurite alapértelmezett értéke, nem titkos kulcs.Requirements.txt fájlban felsorolt függőségek telepítése
pip install -r requirements.txtTesztek futtatása:
python -m pytest ./tests
A tesztek futtatása után az Azure Storage Explorerrel láthatja a fájlokat az Azurite blobtárolóban.
Tesztek futtatása az Azure Pipelinesban
Miután helyileg futtatta a teszteket, győződjön meg arról, hogy a tesztek átjutnak az Azure Pipelineson. Docker Azurite képet használjon hosztolt ügynökként az Azure-ban, vagy használja az npm-et az Azurite telepítéséhez. Az alábbi Azure Pipelines-példa az npm használatával telepíti az Azurite-ot.
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
Az Azure Pipelines-tesztek futtatása után az alábbihoz hasonló kimenetnek kell megjelennie: