Specflow 是什么时候给出的?

Specflow Given When Then BUT?

我已经使用 SpecFlow 一段时间了,但没有使用 "but" 逻辑。

考虑以下情况:

Scenario: Kiran logs into the system but doesn't click remember me
Given I have a username of 'Kiran'
And a password of 'password'
When I chose login
But I don't chose remember me
Then I should be logged in
And Taken to the home screen
But My username should not be remembered

不能将 "but" 步骤与 "and" 互换吗?

使用"but"有什么好处吗?

我认为这纯粹是为了提高可读性,对吗?

我期待听到您对此的看法。

非常感谢, 基兰

是的,你是对的,"and" 和 "but" 在 gherkin 语法中是可以互换的。

但是根据我的经验,当您指示用户 应该 执行某项操作时使用 "and",而 "but" 最适合用于以下情况您想强调用户 不应该 执行某项操作;这是因为英语中的 "but" 通常用于否定语境。

因此在您的示例中:

But I don't chose remember me

很好地利用了 "but",因为它们没有执行任何操作。此外,使用 "but" 可以明确测试的意图并消除任何可能的歧义。