Ruby on rails 编写网站使用的特性/场景(作为管理员、用户和来宾)
我是cucumber的新手,目前一直在尝试组织/构建一些功能/场景。我试图捕捉的行为是用户、来宾和管理员使用我的网站的行为。该网站主要用于创建私人和公共待办事项列表 以下是我想测试的具体场景:Ruby on rails 编写网站使用的特性/场景(作为管理员、用户和来宾),ruby-on-rails,ruby,cucumber,Ruby On Rails,Ruby,Cucumber,我是cucumber的新手,目前一直在尝试组织/构建一些功能/场景。我试图捕捉的行为是用户、来宾和管理员使用我的网站的行为。该网站主要用于创建私人和公共待办事项列表 以下是我想测试的具体场景: 注册用户可以查看其私人待办事项列表(但不能查看其他人的私人待办事项列表) 来宾(匿名用户)只能查看公共待办事项列表 管理员可以查看所有列表 管理待办事项列表 现在我要说的是: Feature: Managing Todo lists In order to be more productive
- 注册用户可以查看其私人待办事项列表(但不能查看其他人的私人待办事项列表)
- 来宾(匿名用户)只能查看公共待办事项列表
- 管理员可以查看所有列表
- 管理待办事项列表
Feature: Managing Todo lists
In order to be more productive
As a user of the site
I want to be able to manage todo lists
Background:
Given a user named "user-one@email.com" with password "secret-one"
Given a user named "user-two@email.com" with password "secret-two"
Given an admin named "admin@email.com" with password "admin"
Scenario: user-one@email.com can view his own private todo lists
Scenario: user-one@email.com can not view user-two@email.com private todo lists
Scenario: admin@email.com can view user-one@email.com and user-two@email.com private todo lists
Scenario: user-one@email.com can create private todo lists
Scenario: user-one@email.com can delete todo lists they own
Scenario: admin@email.com can delete user-one@email todo list
Scenario: guests can view all public todo lists
我遇到的问题是每个场景的设置。例如,在第一个场景中,我必须假设user-one@email.com
已登录。在第一个admin@email.com
场景我必须假设管理员已登录。在最后一个场景中,我需要假设没有人登录
那么,我如何管理那些给定的?我要加一个吗
Given user-one@email.com is logged in
每一个场景?还是有更好的方法来构建这一切?请帮忙!我确信这是cucumber用户需要测试的一个非常常见的模式。通常我只尝试列出重要的步骤。在你的情况下,我会这样做:
Feature: Managing Todo lists
In order to be more productive
As a user of the site
I want to be able to manage todo lists
Background:
Given a user named "user-one@email.com" with password "secret-one"
Given a user named "user-two@email.com" with password "secret-two"
Given an admin named "admin@email.com" with password "admin"
Scenario: Users can see own private todo lists
Given user "user-one" has a private todo list
Then user "user-one" can see the private todo list of "user-one"
Scenario: Users cannot see others private todo lists
Given user "user-one" has a private todo list
Then user "user-two" cannot see the private todo list of "user-one"
如果您在其他地方有登录步骤,您可以在中重复使用该步骤,那么用户“user one”可以看到“user one”步骤定义的私有待办事项列表,而不是在功能中。或者您的步骤可以直接共享相同的代码
请看您能给我举一个重复使用步骤的例子吗?我想这正是我想做的我编辑了答案并链接到