当前位置: 首页 > 知识库问答 >
问题:

使用java时如何组织步骤定义?

巢星纬
2023-03-14

我对Cucumber是新手,我正在使用Cucumber java。cucumber功能文件看起来很棒。然而,步骤定义的重用实际上阻碍了组织步骤定义代码。对我来说,组织步骤定义最直观的方法就是按照功能文件的组织方式,即一个类对应一个功能。但是,如果在两个要素文件中有两个相同的步骤,则这种方法是错误的,因为您将错过其中一个类中的一个步骤,这会破坏整个结构的一致性。然而,我现在无法说服自己使用其他方法。那么,在使用java时,组织步骤定义的合理方法是什么?

非常感谢你。

共有3个答案

段干庆
2023-03-14

cucumber的最佳使用方法是尽量减少步骤定义的重复。在编写步骤定义时,我们应该关注的是避免任何特定于一个类或步骤方法中的功能的代码,因为这样它就不能被泛化,它应该有可以用于不同步骤的通用代码和用于传播的代码要分离的类,其步骤是指每个步骤的特定逻辑应驻留在单独的类中。这样我们可以避免重复。

示例:-假设我们有一个包含步骤“组件A必须接收响应”的组件特征文件,它的实现类是ComponentStepDefinition类,当我们在步骤定义中实现它时,我们不应该使用任何逻辑来迭代或计算组件A的响应,而是将值传递给执行相关任务的类,这样,您就必须实现“组件B必须接收响应”,然后可以使用相同的步骤定义,并且B的逻辑将位于另一个类中。

阳兴朝
2023-03-14

可以使用单独的包作为定义公共步骤的类的占位符。将该包添加glue

西门威
2023-03-14

从你已经在做的事情开始,一旦你意识到一个步骤被重用,就把它移动到类ReUsableSteps或其他什么地方。这样,如果一个步骤在它的类中不存在,那么它应该在可重用的步骤中。只是一个想法。

 类似资料:
  • 我要开发java系统,它由三个应用程序组成。这些应用程序使用相同的包。如何在IntelliJ IDEA中组织这个项目?必须在项目中所有资源都组织在一个包层次结构中,还是在库中使用不同的项目。你能告诉我专业的解决方案吗?

  • 我们在整个测试套件中有200多个特性和2000多个场景。它工作得很好,但许多步骤定义没有使用,我们想删除它们。 目前,我们很难手动尝试删除步骤定义代码,看看这样做是否破坏了什么。是否有一个工具或实用程序可以识别Java-Cucumber代码库中的哪些步骤定义未被使用,以便将其删除?

  • 问题内容: 我正在研究Jenkins Pipeline:Multibranch的功能。据说最近采取的步骤可能有用,但是我无法了解它的工作原理和目的。 它的提示消息似乎不太清楚: 更新运行此步骤的作业的属性。多分支工作流主要有用,因此Jenkinsfile本身可以编码静态作业配置。 因此,我以此为脚本创建了一个新管道(直接粘贴到Jenkins中而不是SCM中): 我运行了它,但没有任何反应,作业没有

  • 步骤一:绑定域名 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。 备注:登录后可在“开发者中心”查看对应的接口权限。 步骤二:引入JS文件 在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.6.0.js 如需进一步提升服务稳定性,当上述资源不可访问时,可改访问:http://r

  • 在testCafe,http://devexpress.github.io/testcafe/documentation/test-api/authentication/http-authentication.html,我试图测试一个网站,首先我必须通过http。提到的功能是夹具。我应该如何处理cucumber步骤定义内的http?一个很好的例子。 我的stepdef类似于 给定('页面已加载',

  • 我有一个特定组织的用户停用的要求。在目前的情况下,我们直接通过用户下的控制面板停用用户tool.ifi停用,用户将在门户级别停用,所以它适用于所有组织,而不是特定的organization.so我可以为此做手动代码还是默认情况下有任何替代方案?