用途:为测试提供统一的结构规范。每个测试都必须清晰分离三个阶段:Arrange(准备对象、配置 mock、准备输入数据、设置初始状态)、Act(执行被测行为,通常是单一动作)、Assert(验证返回值、状态变化、mock 交互或副作用)。
主要能力与要点:资料强调这是一条“铁律”,任何测试都无例外;当准备、执行、断言混杂时,即出现“阶段混杂”异味,会出现难以判断被测内容、难以为测试准确命名等问题。检测信号包括动作之间夹着 expect() 调用、没有明确的单一 act、断言四处散落、难以描述测试验证了什么、测试名称与结构不符。
使用方式:按 AAA 顺序组织测试;BDD 风格下同一概念对应 Given-When-Then。关于“每个测试一个断言”,资料说明这是指导原则而非硬性规则——若多个断言验证的是同一个行为则可以接受,但若一个测试包含多个不同行为则应拆分为多个测试。若需要多个 Act,通常意味着需要多个测试;多个准备步骤应归入 Arrange。
限制与说明:资料未提供具体的安装命令、依赖或运行方式;仅给出结构规范与正反示例,未涉及收费、平台或效果数据。