2011-05-16 142 views
5

我正在创建一个多步注册过程的黄瓜测试,并且对于方案步骤的最佳实践有点不确定...黄瓜长度?

注册中有4个表单/页面。我应该循环通过给定,当在一个场景中4次或有更好的方式来组织它吗?

到目前为止,我有...

Scenario: Company User 
Given I am on the registration page 
When I follow "Register as a supplier" 
When I fill in the following: 
    | user_email | [email protected] | 
    | user_password | secret | 
    | user_password_confirmation | secret | 
And I press "Create login - Proceed to step 2" 
Then I should see "Create Company Profile" 
When I fill in the following: 
    | company_name | Test Company | 
    | company_description | Lorem | 
    | company_telephone | 01928740436 | 
    | company_email | [email protected] | 
And I press "Create company - Proceed to step 3" 
Then I should see "Test Company office(s)" 
+8

我会很失望,如果这实际上不是狡猾的影射。 – 2011-05-16 15:43:13

+0

这篇文章的标题让我发笑:) – d11wtq 2011-05-16 17:01:53

+2

这对我来说看起来不错,但如果它是我的代码,我可能会将所有表单位提取到一个步骤定义中,并且会更一般:“当我设置了我的电子邮件和密码“和”当我填写我的公司信息“ – Unixmonkey 2011-05-16 18:52:59

回答

2

我会建议有4个场景覆盖每一步的细节,如:

Given I am on step 2 
When I fill in the following: 
    | company_name | Test Company | 
    | company_description | Lorem | 
    | company_telephone | 01928740436 | 
    | company_email | [email protected] | 
And I press "Create company - Proceed to step 3" 
Then I should see "Test Company office(s)" 

您可以藏起来任何必要的,但不相关在“给定我在步骤X”的定义中填写表格。

你或许应该也有一种情况,其涵盖了如何组合在一起,例如:我认为安迪韦特给了很好的意见

When I complete step 1 with valid information 
And I complete step 2 with valid information 
And I complete step 3 with valid information 
And I complete step 4 with valid information 
Then I should see "Thank you for registering" 
+0

谢谢你们对此的帮助。我已经淡化了这个功能,并在幕后给了它一些大的“萌芽”步骤。 – 2011-05-18 09:17:35

5

,而不是像第1步,第二步,等我的通用名称将更多的描述:

When I register as a supplier with valid information 
And I create company profile with valid information 
And I ... with valid information 
And I ... with valid information 
Then I should see "Thank you for registering" 
+0

是的,这是一个很好的观点。 – 2011-05-17 15:02:06

1

我喜欢马克Irvine`s建议 - 黄瓜自动化的主要理念之一就是编写的清晰读者尽可能步骤。应该完全清楚,即使对于非程序员的人来说,测试正在做什么。

如果您有兴趣 - 您还可以阅读Matt Wynne撰写的“The Cucumber Book - 行为驱动开发测试人员和开发人员”以获取更多良好实践。

问候, 亚历