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
这些场景以相同的顺序写入到功能文件中。当为它编写黄瓜文件时,我正在场景1中创建一个用户。在场景2中,正在更新同一用户。在某种程度上,方案2依赖于1,因为它正在更新在方案1中创建的同一用户。
我的问题是,应创建方案以使其依赖于其他方案。否则它们应该彼此独立执行。在这种情况下,我应该在场景2中创建一个新用户,然后对其执行并更新并声明它。
黄瓜明确建议您不要使方案之间相互依赖。从FAQ's:
“每个方案都应该独立;您应该能够以任何顺序或并行运行它们,而一个方案不会干扰另一个方案。
每个方案都应该精确地测试一件事,以便当它失败时,它有明确的原因会失败。这意味着您不会在另一种情况下重复使用一种情况。
如果您的方案使用相同或相似的步骤,或者在系统上执行相似的操作,则可以提取帮助程序方法来执行这些操作。“
(旁注:根据个人经验,我可以告诉您,相互依赖/系统状态的测试将很快变得很难维护。我强烈建议您使测试独立!)] >