gpt4 book ai didi

specflow - 你如何在 Specflow 中对抗 BDD 脚本反模式?

转载 作者:行者123 更新时间:2023-12-04 14:18:13 25 4
gpt4 key购买 nike

这是我们的验收测试之一的示例:

Feature: Add an effect to a level
In order to create a configuration
As a user
I want to be able to add effects to a level

Scenario: Add a new valve effect to a level
Given I have created a level named LEVEL123 with description fooDescription
And I am on the configuration page
When I click LEVEL123 in the level tree
And I expand the panel named Editor Panel
And I click the Add Valve Effect button
And the popup named ASRAddVal appears
And I click the Add new button
And I fill in these vertical fields
| field name | value |
| Name | Effect123 |
Then I should see the following texts on the screen
| text |
| Effect added : EFFECT123 |

我们觉得这有点冗长,我们想听听您如何减少 Specflow 中的步骤。从我到目前为止所读到的内容来看,不建议创建特定的不可重用步骤,那么在 SpecFlow 中执行此操作时什么被认为是“最佳实践”?

更新:

我想说的是,我了解到您应该尝试创建通用步骤,以便在多个测试中重用它们。一种方法是参数化您的步骤,例如:“鉴于我创建了一个名为 .. 的级别”,但参数化也引入了冗长。我想最终得到 Bryan Oakley 在他的回答中建议的东西,但是如果不创建针对每个测试的非常具体的步骤,我就看不出如何做到这一点。这再次意味着我最终会执行许多降低可维护性的步骤。我看起来 SpecFlow 有一些方法可以通过创建一个文件来定义缩写步骤,该文件继承了一个名为“Steps”的基类,但这仍然引入了新的步骤。

所以总结一下;向我展示一种结束 Bryan Oakleys 答案的好方法,该答案是可维护的。

最佳答案

我会把它简化成这样:

Scenario: Add a new valve effect to a level
Given I have created a new level
When I add a new valve effect with the following values
| field name | value |
| Name | Effect123 |
Then I should get an on-screen confirmation that says "Effect added: Effect123"

我解决这个问题的方法是想象你正在完全重新设计用户界面。测试还能用吗?例如,即使重新设计中没有“添加”按钮,或者您不再使用弹出窗口,测试也应该有效。

关于specflow - 你如何在 Specflow 中对抗 BDD 脚本反模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6938180/

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