首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >黄瓜水豚试验的背景

黄瓜水豚试验的背景
EN

Stack Overflow用户
提问于 2017-03-10 08:06:25
回答 2查看 988关注 0票数 2

学习新的Rails应用程序并为其编写一些测试。在编写测试时,遇到的问题是:

在海原黄瓜测试中写“背景”意味着什么?我们为什么要写“背景”?能避免吗?

->与测试数据库有任何关系吗?还是作为“场景”的数据库?

代码语言:javascript
复制
Feature: User signup
  As a user
  I want to sign in
  So I can use service features

**Background**:
  Given user with "jack@daniles.com" email and "qwerty" password

Scenario: Signing in with correct credentials
  When I go to sign in page
  And I fill in "email" with "jack@daniles.com"
  And I fill in "password" with "qwerty"
  And I click "Login" button
  Then I should see "Welcome, jack@daniles.com!"
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-10 10:05:04

背景在您的每个场景之前运行,但是在Hooks之前的任何一个场景之后运行。它用于编写黄瓜场景的干燥策略。在运行实际测试用例之前应该执行的一组“先决条件”步骤。

就像。在签入仪表板或配置文件页内容之前,必须登录用户。因此,登录覆盖率将在“后台”部分中完成,然后将有2个测试用例。

背景: //让用户登录

场景://访问仪表板页.

场景://访问配置文件页..。

有关更多信息,https://github.com/cucumber/cucumber/wiki/Background

对于不同的用户集,您可以使用场景大纲,下面是示例:

https://makandracards.com/makandra/18905-how-to-not-repeat-yourself-in-cucumber-scenarios

希望这会有帮助!

票数 2
EN

Stack Overflow用户

发布于 2017-03-10 08:14:00

背景的要点是为几种场景定义一个共同的起点。如果您只有一个场景,那么它作为将事物分成几个部分的一种方法是有意义的。如果您熟悉单元测试框架,那么它与xunit系列中的安装方法类似,如果使用rspec,则类似于前置块。为了运行测试,背景中的内容也可以放在场景中。它是一种重用机制。

后台与测试数据库之间没有直接关系。从黄瓜上运行的所有步骤都可能击中数据库。后台用于在数据库中设置良好的启动状态。根据您的黄瓜/capybara配置,数据库将在每个场景之间重置,后台在每个场景之前再次运行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42713298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档