- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有几个功能文件,它们共享通用步骤。例如,如果我想获取登录步骤创建并在 LoginStepDefinitions.java 文件中设置的用户对象,登录是想到的最简单的步骤。是否在我的上下文中,是否有某种方式可以访问此类的变量,我可以 Autowiring 另一个步骤定义还是其他什么?
最佳答案
是的,你可以。使用Context Injection
。 Cucumber 支持许多依赖注入(inject)框架,如 Spring、Guice 和 Picocontainer。因此,您可以使用这些框架中的任何一个来 Autowiring 您的对象。
让我们将小 cucumber 文本称为步骤,并将其实现称为步骤定义,以避免混淆。假设您有两个功能文件login.feature 和product.feature。它们对应的实现在 LoginStepDef.java
和ProductStepDef.java
。现在假设您已重复使用 login.feature
中的步骤在product.feature
。在这种情况下你应该做的是 inject
context
在所需的stepdef中,即注入(inject)LoginStepDef
ProductStepDef
中的对象。 Cucumber 将在内部使用此上下文对象(注入(inject)的 LoginStepDef 对象)来调用您想要从 login.feature 重用的步骤。只要有一个 getter
方法如 getUser()
在LoginStepDef
。使用注入(inject)的LoginStepDef
ProductStepDef
中的对象现在获取 User 对象或 LoginStepDef
中创建/公开的任何对象.
关于java - 如何在没有冗余的情况下访问通过 Java 中的 Gherkin 步骤定义创建的公共(public)变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23674574/
我正在尝试运行注册示例,但卡住了 Scenario: New user registration; poor password Given I am on "/register" When I
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 4 年前。 Improve
嗨,我正在尝试用小 cucumber 语法编写表达一组要求,但它需要大量重复。我看到here我可以使用占位符,这对于我的任务来说是完美的,但是我的 Give 和 then 中的一些数据是集合。我将如何
尽管我已经编写单元测试 20 多年了,但我对 Gherkin 还很陌生,并且接到的任务是为 .feature 文件实现一个故事,该文件可简化为如下内容: Scenario: a Given t
我正在使用 Behat 等工具定义要在 BDD 工作流程中使用的功能。或 Cucumber , 使用 Gherkin语。这是迄今为止的特征定义: Feature: Save Resource
我管理着一个测试团队,开发人员希望我们记录的测试场景能够创建自动化回归测试(基于网络的工具)。我们的场景是用小 cucumber 格式(Given/When/Then)编写的,但我想知道需要多少细节来
我想以 Robot Framework 中可能最“优雅”的方式将多个参数传递给我的测试用例。许多框架中使用的场景大纲允许用表中的值替换变量/关键字。表中的每一行都被认为是一个场景。 Robot Fra
英语可能含糊不清,在我看来,在使用 Gherkin 的方法论中有一个假设,即任何会说一定程度英语的人都可以编写和理解测试用例,甚至在编写任何代码之前也是如此。 鉴于以下需要自动化的简单测试场景,该方法
在编写验证输入表单上的信息的 BDD 场景时,您将如何列出规则。 选项是: 1) 每个规则一个场景 2)场景大纲,每个领域和规则的例子 我们如何说某些不在特定字符集中的无效内容,例如: 鉴于我输入了一
我一直在使用 SpecFlow 进行验收测试。这使用 Gherkin(DSL Cucumber 使用)。它包括一个有趣的功能,称为“标签”。我可以看到其使用的实用性,但我不确定在 BDD 中使用标签的
在 Gherkin 语法中(Cucumber 和 SpecFlow 使用的,我可以通过在行前面加上“#”前缀来注释掉该行 有什么办法可以阻止多行注释吗? 最佳答案 Gherkin 不支持它,因此您必须
我有一些 SpecFlow 功能(使用 Gherkin 语法),我想暂时禁用该功能以防止其测试运行? 是否有一个属性可以用来标记该功能来执行此操作?我猜测适用于 Cucumber 的东西也可能适用于
如果我的功能定义中有这样的子句: Then I can see the "/relative-url-path" page Cucumber会强加这个方法: @When("^I can see the
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题吗? 更新问题,以便 editing this post 提供事实和引用来回答它. 关闭 4 年前。 Improve
我正在用 Cucumber Java 做一个简单的 rest api 测试。响应采用 Json 格式。 我写的小 cucumber 特征文件看起来像: Scenario: Given I
我使用 IntelliJ 在 IDE 中用 Java 编写了 Cucumber 功能文件,即 *.feature 文件和相应的步骤定义文件。用户体验非常好,IDE 打开其 IntelliSense,显
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答它。 关闭 4 年前
有谁知道实现这一目标的方法,或者他们认为这是一个好主意。在 Gherkin 中使用 OR 样式语法以减少重复但保持人类可读性(希望如此)。我正在考虑使用多个 OR 语句的每个组合扩展子句组合的情况。例
我正在尝试创建一个场景,其中两个用户将访问该应用程序,因此当一个用户(或多或少)将其放在购物车上时,我可以模拟售罄的产品。 例如。Given user1 access websiteThen user
我对小 cucumber 还很陌生,正在为我的第一个项目而苦苦挣扎。基本上,我们有很多输入参数,这些参数是一个精美的计算器所需要的,可以帮助人们确定他们是否能够负担抵押贷款。 我最好是专注于输出的一部
我是一名优秀的程序员,十分优秀!