我正在使用Java Spring Boot 2应用程序,在该应用程序上我使用了黄瓜和嫩黄瓜。
我不理解如何处理同一句子代表不同动作的情况。
给出以下句子
And the user fills the field email with 'myEmail@email.com'
问题在于“电子邮件”字段位于注册页面和登录页面中。
当我编写这句话的实现时,如何理解我是否需要填写登录页面或登录页面?
在google上搜索时,我什么都没找到,也许我的句子中有一些反模式?
为了更好地理解,有一些真实的例子吗?
谢谢
答案 0 :(得分:2)
怎么了,
FileID
?
答案 1 :(得分:1)
反模式是您使用功能/场景来描述您的工作方式,而不是使用功能/场景来描述您正在做的事情及其重要性。您可以将如何执行操作的细节放入步骤定义的主体中,或者更好地放入步骤定义可以调用的辅助方法中。
在您的示例中,您显然有两种情况
所以
Scenario: Sign up
When I sign up
Then I should be signed up
Scenario: Sign in
When I sign in
Then I should be signed in
然后在堆栈中找到一些辅助方法(我的方法在Ruby中)
def sign_up(new_user: )
visit sign_up_page
fill_in :email, with new_user.email
fill_in :password, with new_user.password
fill_in :confirmation, with new_user.password
...
submit_form
end
def sign_in(user: )
visit sign_in_page
fill_in :email, with user.email
fill_in :password, with user.password
submit_form
end
通过这种方式,您可以清楚地区分sign_in和sign_up,并且不可能使用错误的步骤定义。