该技能提供使用 Hex1b 终端自动化库为 Aspire CLI 编写端到端测试的模式与实践。测试位于 tests/Aspire.Cli.EndToEnd.Tests/,仅支持 Linux,Windows 与 macOS 在 CI 中跳过。主要组件包括 Hex1bTerminal、Hex1bTerminalAutomator(推荐的异步驱动 API)、CellPatternSearcher、SequenceCounter,以及 CliE2EAutomatorHelpers 等辅助类。测试流程为:创建 TemporaryWorkspace 隔离目录,以无头模式构建带 asciinema 录制的 Hex1bTerminal,用 Hex1bTerminalAutomator 包裹并异步驱动终端直至完成。SequenceCounter 通过自定义提示符([N OK] $ 或 [N ERR:code] $ )确定性等待命令完成,优于任意延时。使用 CellPatternSearcher.Find 进行字面匹配,FindPattern 仅在需要正则通配时使用;含正则特殊字符时应使用 Find。命令行交互可借助 AspireNewAsync 处理 aspire new 的多步提示(含模板选择、项目名、Redis 等),长时间进程用 Ctrl+C 停止。每次 WaitUntilAsync 必须提供 description 参数以便调试。新测试应使用 Automator API,不再使用旧版 Hex1bTerminalInputSequenceBuilder;不要硬编码提示序号或任意延时。可用 Hex1b MCP 服务器交互式探索终端输出以构建匹配模式。具体安装命令与扩展方法完整签名等细节以官方资料为准。
cli-e2e-testing
测试与质量
更新于 10-16 09:30