我建议修改这个场景的标题。“选择一个地区”并没有真正告诉你,从这个例子中可以期待什么。它可能是当您选择一个区域时触发的一些复杂行为,或者是一个微小的 UI 细节,例如所选区域从可用区域移动到所选区域列表。
如果我正确理解了您的示例,则为后者,因此我建议使用如下标题:
Scenario: Selected region should be moved from available to selected regions
拥有更具表现力的标题具有恕我直言的优势:
1) 当您正在寻找某个细节时,您可以更快地在活文档中导航并找到相关示例:阅读富有表现力的标题总是比阅读整个示例并逆向工程其意图更快。
2)对于更复杂的场景(这个例子似乎不是),一个表达场景意图的富有表现力的标题有助于读者更快地理解场景的细节。
为了使场景更有趣,我会将断言合并为一个步骤,因为您实际上想要断言所选项目已从可用列表移动到所选列表:
Scenario: Selected region should be moved from available to selected regions
When I select "Scotland" from "Available Regions"
Then "Scotland" should be moved from "Available Regions" to "Selected Regions"
我认为这非常接近我在对话中向某人解释这个细节的方式。我不介意在这里重复“苏格兰”,尽管有些人可能更喜欢用“所选地区”替换“苏格兰”,正如 AlSki 已经指出的那样。这是一个品味问题,我通常会尝试听在关于场景的对话中使用了哪些实际单词,这应该总是在写下来之前发生。
作为一个小提示,我想提一下,我的印象是这是一个涉及相当低级 UI 细节的场景。当我选择一个特定区域时(如果选择一个区域有任何特定的业务相关性),我会更感兴趣,它有什么更高层次的影响。如果你真的想在场景中描述和自动验证这样一个低级 UI 细节,我会考虑在我如何描述场景时展示这一点:
Scenario: Selected region should be moved from available to selected regions list
When I select "Scotland" from the "Available Regions" list
Then "Scotland" should be moved from the "Available Regions" to "Selected Regions" list
当然,我现在只是假设您正在描述场景中列表的详细 UI 行为,因为您没有在原始场景中编写列表。如果不是关于 UI,即您所描述的内容,则应该对场景进行不同的表述以更好地表达这一点。