用途:为 Aspire 应用编写、修改或调试部署端到端(E2E)测试,测试会真实部署到 Azure 并验证部署后的端点可用性。它扩展了 CLI E2E 测试模式,借助 Hex1b 终端自动化库驱动 Aspire CLI。
主要能力与组件:核心类包括 DeploymentE2ETestHelpers(终端工厂与环境)、DeploymentE2EAutomatorHelpers(部署场景的异步扩展方法)、Hex1bAutomatorTestHelpers(共享方法,如 WaitForSuccessPromptAsync、AspireNewAsync)、AzureAuthenticationHelpers(Azure 认证与资源命名)、DeploymentReporter(GitHub 步骤摘要报告)与 SequenceCounter(提示跟踪)。常见扩展方法有 PrepareEnvironmentAsync、InstallAspireCliFromPullRequestAsync、InstallAspireCliReleaseAsync、SourceAspireCliEnvironmentAsync。
使用方式:测试位于 tests/Aspire.Deployment.EndToEnd.Tests/,仅支持 Linux。每个测试先校验 Azure 认证(本地不可用则跳过),生成唯一资源组名,用 aspire new 创建项目、aspire deploy 部署、验证端点、报告结果并清理资源。本地需先执行 az login、az account set --subscription "your-subscription-id",设置 export ASPIRE_DEPLOYMENT_TEST_SUBSCRIPTION="your-subscription-id",再运行 dotnet test tests/Aspire.Deployment.EndToEnd.Tests/。CI 使用 OIDC(Workload Identity Federation),触发方式为夜间计划、手动派发或推送 deploy-test/* 分支。资源组命名模式为 {prefix}-{testname}-{date}-{runid}。
适用场景与限制:适合验证真实 Azure 部署的集成行为,依赖 Azure 订阅与相应权限,运行时间约 15-45 分钟,比本地 CLI E2E 更慢且需要认证;必须在 finally 中清理 Azure 资源组,避免遗留资源。具体收费、价格与更多平台支持暂未提供。