这个用例的问题是,测试重点不突出,导致了冗余数据。从Scenario书写的意图看,即想测试各种用户名,又想测试合法与非法用户登录。为了突出测试意图,我们可以将它分解:

Scenario Outline: different user name login  

02   Given regiestered users as and and "123" 

03   When user login with password "123" 

04   Then user should see "welcome" 

05   

06   Scenarios:  

07   |user | email | 

08    |a |a@cnblogs.com| 

09    |b- |b-@cnblogs.com| 

10    |c_ |c_@cnblogs.com| 

11    |B |B@cnblogs.com |  

12   

13 Scenario: unregiestered user login fail  

14   Given unregiestered user "a" 

15   When user "a" login with password "123" 

16   Then user should see "invalid user" 
 


  之所以把它排在后,是因为精简了数据,很可能导致一个超级复杂的Scenario,变成若干个小的简洁的,测试意图明确的小的Scenario,却不保证,运行时间一定会缩短。看着运行Cucumber的时间比少,心情也越来越好。傍晚路过咖啡店时,买了个很甜的东西奖励自己。可直到吃完,都不知道那东西叫什么名字。