用途:帮助开发者在本地使用自己的 Azure AD 凭据(而非服务主体)运行 rayfin CLI 的 E2E 测试,登录自动完成。
前提条件:已克隆仓库并安装 Rush 依赖(rush update);CLI 与 E2E 包已构建(rush build --to rayfin-cli-e2e);账号有目标 Fabric 工作区访问权限。
主要能力与用法:创建 gitignored 的 packages/tools/cli-e2e/.env,设置 E2E_AUTH_MODE=user、E2E_ENVIRONMENT=daily、E2E_TENANT_ID=<你的租户ID>、E2E_CLI_SOURCE=source、USE_LOCAL_PACKAGES=true、RAYFIN_E2E_WORKSPACE_NAME=DO_NOT_DELETE_AppDev_E2E_Workspace、RAYFIN_TELEMETRY_OPTOUT=1、RAYFIN_ENCRYPTION_FALLBACK_ENABLED=true。若不知租户 ID,可用 rayfin login status 查询,或在 Azure 门户 Microsoft Entra ID → 概览 → 租户 ID 查看。
在 packages/tools/cli-e2e 下运行:rushx test:e2e(登录自动完成,globalSetup 检测无有效会话时自动执行 rayfin login --tenant <E2E_TENANT_ID> 并打开浏览器,之后复用缓存会话);运行指定文件 rushx test:e2e -- src/init/init.test.ts;覆盖率 rushx test:e2e:coverage;监听模式 rushx test:e2e:watch。浏览器测试需先 npx playwright install chromium,再运行 rushx test:e2e:browser,要求账号对 DO_NOT_DELETE_AppDev_E2E_Workspace 有 Contributor 权限,且已有有效会话(Playwright 不使用 Vitest globalSetup)。
限制与说明:用户模式下会按预期跳过服务主体专用测试与 data-client 测试;CI 恒为 E2E_AUTH_MODE=sp,本地 .env 被 gitignore 不影响 CI;WSL/容器出现钥匙串错误时设置 RAYFIN_ENCRYPTION_FALLBACK_ENABLED=true;Windows 登录时 libuv 断言崩溃无害,globalSetup 依据输出而非退出码判断;令牌过期需重新 rayfin login --tenant <id> 或删除 ~/.rayfin/auth.json。其他细节资料未提供。