BDD 黄瓜 Web 服务
BDD cucumber Web Service
我已经阅读了一些关于如何使用 cuuumber 实现 BDD 的文章,但我无法完全理解。
假设我有一项服务
/v1/picture?viewer=1&viewed=2&flag=1
对于这 3 个输入,我正在寻找输出为“1.jpg”
我在找
- 我们如何实现上面的内容? -- 即基于输入的输出
- 我们如何构建数据? -- mysql 数据基本存根
请提供示例和良好的链接。
谢谢
很难回答你的问题,因为没有太多关于你想要实现的目标的细节,但我会试一试。
你有 3 个不同的输入:
- 观众
- 是否被浏览过
- 一面旗帜。
所以这些输入为场景提供了不同的上下文 (Givens)。
- 给定一个 .jpg 查看器
- 鉴于我已经看过两次图片
- 鉴于图像已被标记
如何为这些给定数据设置数据完全取决于您。您可以对其进行硬编码,使用 mysql 数据或使用管理控制台输入真实数据等。这应该无关紧要。您感兴趣的行为是当您应用 事件 (When):
时发生的情况
- 当我取回v1图片时
据推测,在您的上下文中提供的输入是相关的,并且会根据该输入提供不同的结果(然后)。
- 然后我应该会看到一个 .jpg 文件
- 然后我应该看到 "Image flagged" 横幅
- 然后我应该会看到消息 "Viewed 2 times"
所以我可能会遇到这样的情况:
Given a .jpg viewer
And an image that's been viewed 3 times
When I retrieve the v1 picture
Then the service should give me 1.jpg
And I should see the message "Viewed 3 times"
Given a .png viewer
When I retrieve the v1 picture
Then the service should give me 1.png
等等
我不知道你真正的服务是做什么的,但希望这能帮助你看到模式。尝试在场景中将行为的不同方面分开(更像是第二个而不是第一个)除非有你需要举例说明的组合。
我已经阅读了一些关于如何使用 cuuumber 实现 BDD 的文章,但我无法完全理解。
假设我有一项服务
/v1/picture?viewer=1&viewed=2&flag=1
对于这 3 个输入,我正在寻找输出为“1.jpg”
我在找
- 我们如何实现上面的内容? -- 即基于输入的输出
- 我们如何构建数据? -- mysql 数据基本存根
请提供示例和良好的链接。 谢谢
很难回答你的问题,因为没有太多关于你想要实现的目标的细节,但我会试一试。
你有 3 个不同的输入: - 观众 - 是否被浏览过 - 一面旗帜。
所以这些输入为场景提供了不同的上下文 (Givens)。
- 给定一个 .jpg 查看器
- 鉴于我已经看过两次图片
- 鉴于图像已被标记
如何为这些给定数据设置数据完全取决于您。您可以对其进行硬编码,使用 mysql 数据或使用管理控制台输入真实数据等。这应该无关紧要。您感兴趣的行为是当您应用 事件 (When):
时发生的情况- 当我取回v1图片时
据推测,在您的上下文中提供的输入是相关的,并且会根据该输入提供不同的结果(然后)。
- 然后我应该会看到一个 .jpg 文件
- 然后我应该看到 "Image flagged" 横幅
- 然后我应该会看到消息 "Viewed 2 times"
所以我可能会遇到这样的情况:
Given a .jpg viewer
And an image that's been viewed 3 times
When I retrieve the v1 picture
Then the service should give me 1.jpg
And I should see the message "Viewed 3 times"
Given a .png viewer
When I retrieve the v1 picture
Then the service should give me 1.png
等等
我不知道你真正的服务是做什么的,但希望这能帮助你看到模式。尝试在场景中将行为的不同方面分开(更像是第二个而不是第一个)除非有你需要举例说明的组合。