小 cucumber ,两种情况可以相互依赖吗

标签 gherkin cucumber-java cucumber-junit

Scenario1 
When a new user  clicks on sign up page
And provides login ID 
Then user is signed up and can view profile page.
Scenario2 
When user  clicks on the edit profile page
And updates his address
Then updated profile should be visible to user

场景以相同的顺序写入功能文件中。当为其编写 cucumber 文件时,我在场景 1 中创建一个用户。在场景 2 中,正在更新同一用户。在某种程度上,场景 2 依赖于场景 1,因为它正在更新场景 1 中创建的同一用户。

我的问题是创建的场景是否应该依赖于其他场景。 或者它们应该独立于彼此的执行。在这种情况下,我应该在场景2中创建一个新用户,然后对其执行和更新并断言它。

最佳答案

Cucumber 明确建议您不要使场景相互依赖。来自 FAQ's :

“每个场景都应该是独立的;您应该能够以任何顺序或并行运行它们,而不会出现一个场景干扰另一个场景的情况。

每个场景都应该只测试一件事,以便当它失败时,它会因为明确的原因而失败。这意味着您不会在另一个场景中重复使用一个场景。

如果您的场景使用相同或相似的步骤,或者在系统上执行类似的操作,您可以提取帮助器方法来执行这些操作。”

(旁注:根据个人经验,我可以告诉您,相互依赖/系统状态的测试很快就会变得很难维护。我强烈建议您使测试独立!)

关于小 cucumber ,两种情况可以相互依赖吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59333768/

相关文章:

javascript - 无法添加新的给定/何时/然后,出现错误 `SyntaxError: Invalid regular expression: missing/`

cucumber - 功能文件中是否提供其他概念(小 cucumber 语言)?

Cucumber 没有示例就无法识别场景

maven - 运行测试运行程序时得到输出为 0 场景

c# - Visual Studio 上的 Specflow 特征文件中没有颜色

cucumber - 用Gherkin Pirate编写的场景示例

java - 从命令行调试java jar 文件?

java - 如何使用 maven 运行 cucumber-jvm 测试

java - 运行 Jenkins 构建时获取异常字段 - $jacocoData 异常