gpt4 book ai didi

rspec - Rspec 中的命令式和声明式步骤

转载 作者:行者123 更新时间:2023-12-04 23:32:11 28 4
gpt4 key购买 nike

我想知道 Rspec 中的命令式和声明式步骤是什么。

这是 Rspec 书中的示例代码:

Scenario: transfer money (declarative)
Given I have $100 in checking
And I have $20 in savings
When I transfer $15 from checking to savings
Then I should have $85 in checking
And I should have $35 in savings

Scenario: transfer money (imperative)
Given I have $100 in checking
And I have $20 in savings
When I go to the transfer form
And I select "Checking" from "Source Account"
And I select "Savings" from "Target Account"
And I fill in "Amount" with "15"
And I press "Execute Transfer"
Then I should see that I have $85 in checking
And I should see that I have $35 in savings

我不太明白这张照片。

我的理解是,声明式让你做任何你想做的事,只要结果通过,命令式更冗长。

但是,我不觉得我明白这一点。

有人可以解释一下这一点。有什么区别,我应该选择哪一个?

最佳答案

声明式是前进的方向。

命令式描述了您作为用户必须采取的实际 UI 步骤,而不是您试图实现的结果。如果您以这种方式编写场景,它们将变得非常脆弱且无法维护。想象一下,如果有人在那个命令式场景中放置一个确认框,并且有 80 个类似的场景也需要更改。

使用声明性步骤,您只需在定义步骤的地方更改它;然后对所有需要它的场景重复使用相同的声明性步骤。

关于rspec - Rspec 中的命令式和声明式步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3466083/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com