【发布时间】:2017-05-12 04:46:23
【问题描述】:
对于确实需要在每个场景之前设置的内容,则使用 BeforeScenario。
有时有些东西只需要针对某些场景进行设置,但其中很大一部分需要设置。例如,如果场景需要一个“普通用户帐户”存在,那么它会继续以该用户身份登录并做一些事情。
您可以创建一个@BeforeScenario @RegularUser 方法,该方法将为标记为@RegularUser 的每个场景运行。所以场景最终看起来像:
@RegularUser
Scenario login as a regular user
Given I am on the login page
When I login to a regular user account
Then the welcome screen is displayed
替代方法是
Scenario login as a regular user
Given a regular user exists
And I am on the login page
When I login to a regular user account
Then the welcome screen is displayed
“一个普通用户存在”将与创建普通用户的方法相关联。
使用第一种方法,我可以使 @AfterScenario @RegularUser 在场景结束后删除用户。所以这似乎是“一件好事”。
但是从 BDD 的角度来看,第二种方法对我来说看起来更好。但它的局限性在于,在场景结束时不会发生任何事情来删除用户。
哪种方法更好?
【问题讨论】: