在这种情况下我应该在 Cucumber 中提供两个“Then”吗?

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

我正在用 Cucumber 编写测试用例,我一直想知道这种类型的场景是否可以提供两个 then。

我有一种情况,用户在应用程序中执行某些操作后,比如说下订单,会显示成功通知。如果我做一个这样的测试用例可以吗:

Given the user has downloaded the app
And logged in to the app
And user has item in basket
When user clicks "Buy"
Then order is created
And success notification is displayed

或者应该有两个单独的测试用例:一个用于创建订单,一个用于创建订单后显示成功通知?

提前致谢:)

testing cucumber case
1个回答
0
投票

对于单一行为可能产生的后果数量没有固定的规则。事实上,我可以说,单一行动更多时候会产生多种预期结果。例如,当您对网站进行身份验证时,您可能需要验证登陆页面或主页的内容。由于该页面很可能存在多个组件,因此您可能必须检查每一个组件。在这种情况下,您的场景

Given the user has downloaded the app
And logged in to the app
And user has item in basket
When user clicks "Buy"
Then order is created
And success notification is displayed

看起来完全合理。相反,创建两个单独的场景是不合理的。为什么?假设上述场景需要 10 秒才能完成,检查

Then
And
的条件将花费两倍的时间,因为您必须重复前面的所有步骤,才能达到预期结果。对于本案而言,并且仅针对本案而言,情况确实如此。在某些情况下,将预期结果分成不同的场景可能是有意义的。这个具体的不是其中之一。

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