如何在“技术小黄瓜”中写出正确的小黄瓜行

问题描述 投票:0回答:1

我需要写一些所谓的“技术小黄瓜”,这意味着使用小黄瓜关键字和结构必须从“什么”方面来编写场景(例如:当用户保存记录时,记录就会更新)但详细说明了“如何”(例如:当用户单击“保存”按钮时,记录将被更新并显示在列表中)。我真的没有找到任何有关如何正确执行此操作的文档。有没有人有这方面的经验?

是这样的。请注意大写的行 - 使用第二个版本是个好习惯吗?特别是因为它里面有一个 OR 运算符。任何意见都将受到赞赏。

版本1:

假设用户位于“用户组”面板上

并选择一个用户组

当用户点击“编辑用户组”按钮时

然后出现“用户组编辑”窗口

用户修改“权限”部分中的任何内容

然后单击“保存”按钮

然后会显示一条确认消息

并且User组的权限也更新了

版本2:

假设用户位于“用户组”面板上

并选择一个用户组

当用户点击“编辑用户组”按钮时

然后出现“用户组编辑”窗口

用户单击“权限”部分中的任何复选框或 修改用户列表中的用户

然后单击“保存”按钮

然后会显示一条确认消息

并且User组的权限也更新了

syntax gherkin
1个回答
0
投票

您的“技术小黄瓜”不易于维护。它会在你的结果测试套件中产生很多重复的块。因此,随着项目的发展,您将花费大量时间来更新测试。
使用 OR 不是一种可接受的方法。这是一种称为“条件测试逻辑”的测试气味。

如果您确实关心这两个条件,您应该使用场景大纲

Scenario outline: 
...
AND user performs an <action>
...
Examples: Actions
| action                                          |
| CLICK ANY CHECKBOX IN THE "PERMISSION" SECTION  |
| MODIFY THE USERS IN THE USER LIST               |

如果您不在乎,请使用示例中的第一条语句。

© www.soinside.com 2019 - 2024. All rights reserved.