mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
455c28da62
The tests were skipped because xdist distributes module tests across workers, each spawning their own func process (port conflicts). Adding xdist_group forces all tests in this module onto a single worker so the module-scoped function_app_for_test fixture works correctly. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
455c28da62
ยท
2026-04-30 09:04:46 -07:00
History
Sample Integration Tests
Integration tests that validate the Durable Agent Framework samples by running them as Azure Functions.
Setup
1. Create .env file
Copy .env.example to .env and fill in your Azure credentials:
cp .env.example .env
Required variables:
AZURE_OPENAI_ENDPOINTAZURE_OPENAI_MODELAZURE_OPENAI_API_KEYAzureWebJobsStorageDURABLE_TASK_SCHEDULER_CONNECTION_STRINGFUNCTIONS_WORKER_RUNTIME
2. Start required services
Azurite (for orchestration tests):
docker run -d -p 10000:10000 -p 10001:10001 -p 10002:10002 mcr.microsoft.com/azure-storage/azurite
Durable Task Scheduler:
docker run -d -p 8080:8080 -p 8082:8082 -e DTS_USE_DYNAMIC_TASK_HUBS=true mcr.microsoft.com/dts/dts-emulator:latest
Running Tests
The tests automatically start and stop the Azure Functions app for each sample.
Run all sample tests
uv run pytest packages/azurefunctions/tests/integration_tests -v
Run specific sample
uv run pytest packages/azurefunctions/tests/integration_tests/test_01_single_agent.py -v
Run with verbose output
uv run pytest packages/azurefunctions/tests/integration_tests -sv
How It Works
Each test file uses pytest markers to automatically configure and start the function app:
pytestmark = [
pytest.mark.sample("01_single_agent"),
pytest.mark.usefixtures("function_app_for_test"),
skip_if_azure_functions_integration_tests_disabled,
]
The function_app_for_test fixture:
- Loads environment variables from
.env - Validates required variables are present
- Starts the function app on a dynamically allocated port
- Waits for the app to be ready
- Runs your tests
- Tears down the function app
Troubleshooting
Missing environment variables:
Ensure your .env file contains all required variables from .env.example.
Tests timeout: Check that Azure OpenAI credentials are valid and the service is accessible.