两者都正确,并且有不同的优点。
发明BDD的Dan North表示他更喜欢使用第一人称(“我”),因为这样可以使他置身于用户的角度。然而,他在介绍性文章中经常使用第三人称(“他/她/客户”)。
使用第一人称可以帮助场景符合标准故事模板:
As <a stakeholder>
I want <something>
So that <goal>.
如果利益相关者是用户,那么在场景中再次使用"I"是有意义的。但是,有时候场景的结果并不真正符合用户的利益。
As the moderator of the site
I want users to prove that they're human
So that I can limit spam.
在这种情况下,将场景放在用户的角度看会有些奇怪,因为用户并不想填写验证码框。在这里我们可能会使用第三人称。
Given an odd-looking number "31" on a door frame
When the user identifies the number as "31"
Then the system should authenticate them as being human.
您可能会发现有多个利益相关者的结果都很重要。在这种情况下,使用第三人称来描述情境可以帮助发现可能未包含的其他结果或重要的利益相关者。
Given Suzanne searches for a taxi for 4pm to take her to hospital
And the estimated price is $23
When she books the taxi
Then she should get a confirmation email
And the driver should be notified of the trip
And she should be charged $23.
因为苏珊、司机和优步都参与了这种情况,所以把它们放在第三人称更加合理。我倾向于使用第三人称,特别是对于具有许多用例的大型产品,因为我发现必须切换第一人称角色会令人感到困惑,并且它可以保持一致性。这也意味着您可以给场景中的参与者取一个容易记住的名字,并更容易地谈论他们(例如,“克拉伦斯笨手笨脚错误输入号码”的场景)。然而,请记住,在与利益相关者交谈以获取这些场景时,最重要的是交流。尽可能准确地记录他们的话语,只有在重新使用Gherkin重新表达时才妥协语言。